我不确定发生了什么以及如何处理这个问题。我在单元格中有一个UIView,我使用IB设置约束,由于某种原因,它延伸到单元格的末尾。怎么能阻止它伸展。
结果如下:
我正在动态注入一个步进控件但是你可以看到UIView延伸到单元格的末尾。我尝试了针宽度然后它完全弄乱了一切,甚至没有显示UIView。
以下是约束的屏幕截图:
答案 0 :(得分:0)
好的,让我在这里画出一些区别。
琐碎的方式是你总是在单元格中有步进器(并且没有UIView)。对于我们不应该看到步进器的那些单元格,将其hidden
设置为YES;对于我们应该看到它的那些单元格,将其hidden
设置为NO。这就是我要做的。
程序员执行此操作的方法是根本不在您的单元格中有任何蓝色UIView。您可以在代码中添加步进器,并在代码中提供其约束以定位它。你说:
所以我不必硬编码坐标
但是在代码中添加约束是不“硬编码”坐标。使用约束,您可以根据superview中的插入来描述概念的位置,并且当superview调整大小时,您仍然可以正确定位。因此,对于添加步进器及其约束没有哲学上的反对意见,只是懒得不这样做。
lazy 但浪费的方法是做你正在做的事情,即在笔尖中添加蓝色UIView作为指导。即使你做使用蓝色UIView作为指南,但如果你的约束是正确的,你应该能够做到这一点。我刚试过这个,但我无法重现这个问题:我的蓝色视图出现在我的单元格中,它出现在Interface Builder中。
instant 解决方案是在绘制UITableViewCell的笔尖中不使用Autolayout - 即在文件检查器中取消选中“使用autolayout”此笔尖。因此,您将使用老式的弹簧和支柱(自动调整)来定位子视图。