我已经修改了问题,以提供更多且清晰的信息。
我想要一个动态表格视图单元格,具有灵活的 UITextView 高度和可选的 UIImageView。根据 UITextView 和可选的 UIImageView 的内容大小,可以缩小或扩展单元格。
这是我期望的(如下图):
- 正常大小:TextView 的高度是固定的(比如 77)。 ImageView 的宽度和高度也是固定的(比如 130、130)
- 当 TextView 的内容大小减小时,单元格会缩小并且 ImageView 会向上移动。
- 当ImageView中没有图像时,ImageView不显示,单元格缩小。
下面是视图的结构:
- mainView是contentView的子视图
- topView、textView、bigImageView、bottomView 是 mainView 的子视图
然而,我实际得到的是如下。
- 左图:如果内容尺寸很大,那么ImageView就看不到了。
- 右图:如果内容大小为一行,可以看到ImageView,但其宽度和高度不固定 130、130
警告问题如下:
如果我通过选择“添加缺少的约束”来修复它,我得到的结果如下:
TextView的约束、内容拥抱优先级、内容压缩阻力和内在尺寸:
ImageView的约束、内容拥抱优先级、内容压缩阻力和内在尺寸:
我一直在尝试 TextView 和 ImageView 的拥抱优先级和压缩阻力优先级,但没有运气。结果都不是我所期望的。
请帮助指出设置中有什么问题以及如何实现我的目标。
这里棘手的部分似乎是,当有图像时,您希望它的尺寸为 130x130,但当没有图像时,您希望它被隐藏。
我的建议是为高度和宽度添加一个
当没有图像时,这将允许图像视图缩小到 0x0。
当有图像时,它将缩放到图像大小,但保持正方形。它永远不会大于 130x130。不完全是你想要的,但很接近。
我认为你不需要担心拥抱和压缩。
我认为要准确地完成您想要的操作需要代码。您需要为高度和宽度约束创建 IBOutlet,但这次使它们 =130。在代码中,当您将图像设置到图像视图中时,将代码中的约束常量设置为 130 或 0。我认为这是准确实现您所要求的效果的唯一方法。为此,请按住 CTRL 键从宽度和高度约束拖动到控制器的 .h 中并创建 IBOutlet。这就是我处理需要根据单元格数据模型状态做出决策的约束的方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)