图像为零时具有固定尺寸 UIImageView 的自动布局?
Posted
技术标签:
【中文标题】图像为零时具有固定尺寸 UIImageView 的自动布局?【英文标题】:Autolayout with fixed-dimension UIImageView when image is nil? 【发布时间】:2015-02-10 06:57:17 【问题描述】:我有一个带有一些标签的 UITableViewCell 和一个固定尺寸为 70x70 的 UIImageView。但是,当图像为零时,我似乎无法摆脱它——仍然出现一个黑色方块。我尝试更改内容拥抱优先级以及将宽度更改为<= 70
,但空的图像视图永远不会完全消失。以下是 imageview 的当前约束:
【问题讨论】:
你能显示你自定义单元格的代码吗 我没有任何布局代码。所有的布局和约束都是在IB中完成的,然后我在代码中设置了文字和图片。 【参考方案1】:我最终解决了这个问题,方法是将 UIImageView 的宽度约束拖到我的代码中,然后如果我在配置单元格时图像为 nil,则将其常量设置为 0。
【讨论】:
【参考方案2】:当没有图像时,你可以用 UIImageView 做一件事,你可以简单地隐藏它。可以在单元格处实现索引处的行。
-(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"SimpleTableCell";
SimpleTableCell *cell = (SimpleTableCell *)[tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
[cell.imageviewersetHidden:true];
或者您可以在 xib 中隐藏它,并且在绑定表格视图单元格时,如果图像可绑定,您可以使其可见。我想这可能会对你有所帮助。
【讨论】:
不幸的是,这只是使它不可见,但布局仍然占用空间。我想要的是标签在没有图像时展开。以上是关于图像为零时具有固定尺寸 UIImageView 的自动布局?的主要内容,如果未能解决你的问题,请参考以下文章
具有异步 UIImageView 的自动布局 UITableViewCell 不起作用