到目前为止,我一直在使用应自动调整大小的单元格内的文本标签。我通常把约束,所有的边缘(内容视图或邻居),并添加以下行到我的viewDidLoad()
:自动布局:获取UIImageView高度以正确计算单元格高度
// 190.0 is the actual height of my custom cell (see next image) in the storyboard containing a label and a randomly sized UIImageView
tableView.estimatedRowHeight = 190.0
tableView.rowHeight = UITableViewAutomaticDimension
现在,试图与图片,包括什么时候,我遇到的几个问题。在一些研究中,我发现了几种用Objective-C编写的方法,但我不确定哪些方法真正解决了我的中心问题,但我仍然在使用复杂的Objective-C代码。所以继续:我的最终目标是获得一个正确大小(正确高度)的单元格,每个单元格包含一个标题和一个适合屏幕宽度的图像。这些图像可以具有不同的纵横比和不同的尺寸。为了简化一些挑战,我准备了一个新的,更简单的项目:
- 首先,我创建了一个
UITableViewController
和CustomCell
类有两个IBOutletstitle: String
和postedImage: UIImage
(UIImage的随机情节板中的大小)配置细胞。我定义了边和彼此的约束。
- 当建,两个单元获得含有相同的图像配置,但它们是取出从具有不同的尺寸和分辨率的两个单独的文件(900×171对比半尺寸450 x 86)。 UIImage视图模式设置为“Aspect Fit”,但由于我无法以我想要的方式运行,所以我不确定这是否是正确的设置。尽管我期望单元格高度可以根据重新定标的UIImage计算出来,包括我设置的约束条件,但它似乎基于图像文件的初始高度(如171和86)。它实际上并不适应实际的UIImage视图高度(大概70我猜)。
在我的一个较为复杂的项目,我想不同的图像自动适应屏幕的宽度,无论他们是否是纵向还是横向 - 并且如果它们的宽度小于屏幕的宽度,他们应该被放大。就像在上面的项目中一样,每个单元格高度都应该符合故事板中约束所定义的单个内容。无论如何,它始于上面讨论的问题:我如何让这两个单元具有相同的正确高度,拥抱故事板中定义的内容?
非常感谢任何帮助!
花式发布的测试项目了GitHub上或其他地方? – 2014-09-25 15:56:44
@MikePollard对不起,真的不明白你的意思......顺便说一句,我编辑并指定了我的问题。 – 2014-09-25 20:22:59
我只是建议上传你的代码,以便我们可以玩一玩,并帮助你... – 2014-09-25 20:24:20