Objective c 使用自定义UITableViewCell自动布局
如何让自定义UITableViewCell的内容使用自动布局进行移动和调整大小 为了让问题更清楚,我将自定义单元格的Objective c 使用自定义UITableViewCell自动布局,objective-c,cocoa-touch,ios6,autolayout,Objective C,Cocoa Touch,Ios6,Autolayout,如何让自定义UITableViewCell的内容使用自动布局进行移动和调整大小 为了让问题更清楚,我将自定义单元格的contentView指定为浅灰色背景色。为了将此问题降至最低,我的自定义单元格只有一个名为ratingImageView的UIImageView,其中显示了一些黄色星星;下图中可以看到三个这样的细胞 我的分级图像视图只有4个约束条件;(1) 宽度=81,(2)高度=40,(3)将中心Y与superview对齐,(4)尾部空间与superview对齐=20。当标准的“删除”按钮出
contentView
指定为浅灰色背景色。为了将此问题降至最低,我的自定义单元格只有一个名为ratingImageView
的UIImageView
,其中显示了一些黄色星星;下图中可以看到三个这样的细胞
我的分级图像视图
只有4个约束条件;(1) 宽度=81,(2)高度=40,(3)将中心Y与superview对齐,(4)尾部空间与superview对齐=20。当标准的“删除”按钮出现在“滑动以删除”按钮上时,我希望尾部空格到superview约束会强制图像视图向左。然而,正如下图所示,情况并非如此
我尝试了许多不同的约束组合,但无法使分级图像视图
像我预期的那样改变
我通过一个很好的方法解决了这个问题。我使用好的旧支柱和弹簧来完成这项工作没有问题,但我决定尝试使用Auto Layout,但运气不好。当我打开Autolayout
时,我遇到了同样的问题
问题是由于水平空间(20)
的限制。默认情况下,此约束的优先级设置为1000
,这意味着高优先级。因此,当显示delete
按钮时,imageView遵守该约束并使其自身保持在其位置,而不重新定位与UITableViewCell(本例中为PlayerCell)的内容视图相对应的位置
与我的同事合作,我们找到了这个问题的解决方案。将约束添加到ratingImageView以编程方式解决了此问题。如果有人有比此更好的解决方案,请在此处发布
水平空间(20)
”,并在属性检查器中将其优先级设置为任何较低的值cellforrowatinexpath
tableView的委托方法中添加以下代码:
UIImageView*ratingImageView=cell.ratingImageView
NSDictionary*dict=NSDictionaryOfVariableBindings(分级图像视图);
[cell.contentView添加约束:[NSLayoutConstraint Constraints With VisualFormat:@“H:[分级图像视图]|”选项:0度量:无视图:dict]代码>
在我的例子中,我删除了右约束,然后又添加了右约束,但这次没有选中“约束到边距”复选框。默认选中此复选框。还没有-我刚刚恢复使用支柱和弹簧。还是希望有人能解释一下如何让它和自动布局一起工作。这里也有同样的问题。同样的教程。希望有人能提供答案。