到目前为止,我只是在单元格中使用文本标签,可以自动调整大小.我通常会对所有边(内容视图或邻居)设置约束,并在我的viewDidLoad()
行中添加以下行:
// 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
现在,当我try 在图片中加入时,我面临几个问题.在一些研究中,我发现了几种用Objective-C编写的方法,但我不确定哪种方法真正解决了我的核心问题,我仍在为复杂的Objective-C代码而挣扎.所以要继续:我的最终目标是得到一个具有正确大小(正确高度)单元格的表格,每个单元格都包含一个标题和一个适合屏幕宽度的图像.这些图像可以具有不同的纵横比和大小.为了简化一些挑战,我准备了一个新的、更简单的项目:
- 首先,我创建了一个
UITableViewController
和一个CustomCell
类,其中有两个IBtitle: String
和postedImage: UIImage
(在故事板中随机设置UIImage大小)来配置单元.我定义了对边和彼此的约束.
- 构建时,两个单元被配置为包含相同的图像,但它们是从两个大小和分辨率不同的单独文件中获取的(900 x 171与一半大小的450 x 86).UIImage视图模式被设置为"Aspect Fit",但由于目前无法按我想要的方式运行,我不确定这是正确的设置.虽然我希望单元格高度是基于重新zoom 的UIImage(包括我设置的约束)计算的,但它似乎是基于图像文件的初始高度(so 171和86).它实际上并不适应实际的UIImage视图高度(我猜大约70).
在我的一个比较复杂的项目中,我希望不同的图像能够自动适应屏幕的宽度,无论它们是纵向的还是横向的——如果它们的宽度小于屏幕的宽度,它们应该被放大.就像在项目中一样,每个单元格的高度都应该符合故事板中约束定义的单个内容.无论如何,它从上面讨论的问题开始:我怎样才能让这两个单元格具有相同的、正确的高度,像故事板中定义的那样拥抱它的内容?
非常感谢你的帮助!