【发布时间】:2014-10-19 03:32:15
【问题描述】:
我正在重写我的应用程序以使用自动布局。但我坚持一个具体问题。在主屏幕上是具有动态内容的表格视图。每个单元格的顶部是方形照片(左右对齐 20 像素)。基本上是这样的:
http://cl.ly/image/0N2w2g1r0w11
在实际应用中,单元格中当然会有更多视图,但即使是这种基本布局,我也无法开始工作。主要问题是,我想根据单元格宽度指定方形视图宽度,并且这个视图必须始终是方形的。单元格高度取决于这个方形视图的高度。看起来很简单,但我尝试了许多约束配置(在 IB 中或以编程方式)并且总是失败。这是单元格高度的方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
[self.prototypeCell congigureCell];
[self.prototypeCell setNeedsLayout];
[self.prototypeCell layoutIfNeeded];
CGSize size = [self.prototypeCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
return size.height + 1.0;
}
当方形视图宽度指定为常数时,一切正常。但这不是我想要的(谁知道新 iPhone 会有什么屏幕尺寸,所以我要做好准备:))。我在自动布局方面不是很有经验,所以我希望我只是遗漏了一些明显的东西。我会非常感谢每一个建议。
【问题讨论】:
-
您没有提供足够的信息,尽管您想要做的似乎是合理的。首先,您没有提供任何有关出现问题/错误的信息。其次,您没有提供任何相关的源代码(在这种情况下,我希望您显示 IB 屏幕截图或约束代码)。顺便说一句,请注意,在 iOS 8 中,
UITabelViewCell的高度可以从约束中推断出来。我的建议是一次向一个对象添加约束,直到遇到问题。随时修复它们,最终整个单元格都会正确。 -
那是因为我尝试了很多约束配置并且有很多不同的错误。或者只是错误的高度没有任何错误。我希望有人可以提出他自己的解决方案,而不是纠正我的任何一个。
-
就你的问题而言,它应该被关闭,因为它太宽泛了;有太多可能的答案并且没有足够的信息来缩小解决方案的范围。您需要向 StackOverflow 提出一个特定问题,详细说明哪些问题不起作用以及该网站有用的预期结果。
标签: ios uitableview autolayout