Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用自定义UITableViewCell自动布局_Objective C_Cocoa Touch_Ios6_Autolayout - Fatal编程技术网

Objective c 使用自定义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。当标准的“删除”按钮出

如何让自定义UITableViewCell的内容使用自动布局进行移动和调整大小

为了让问题更清楚,我将自定义单元格的
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以编程方式解决了此问题。如果有人有比此更好的解决方案,请在此处发布

  • 打开故事板,选择PlayerCell并展开其约束
  • 选择约束“
    水平空间(20)
    ”,并在属性检查器中将其优先级设置为任何较低的值
  • 在playerViewController.m文件中,在
    cellforrowatinexpath
    tableView的委托方法中添加以下代码:

    UIImageView*ratingImageView=cell.ratingImageView
    NSDictionary*dict=NSDictionaryOfVariableBindings(分级图像视图); [cell.contentView添加约束:[NSLayoutConstraint Constraints With VisualFormat:@“H:[分级图像视图]|”选项:0度量:无视图:dict]


  • 在我的例子中,我删除了右约束,然后又添加了右约束,但这次没有选中“约束到边距”复选框。默认选中此复选框。

    还没有-我刚刚恢复使用支柱和弹簧。还是希望有人能解释一下如何让它和自动布局一起工作。这里也有同样的问题。同样的教程。希望有人能提供答案。