我在表格单元格中定位元素时遇到问题。当我翻阅桌子时,他们改变了自己的位置。我安装了autoresizhe并指出它们应该在哪里,但nalazeyut图片到文本,我不知道如何解决它们。我阅读了很多文章,但找不到适合不同设备的解决方案。请帮我。 当我翻阅或加载表格中的新单元格时,我自己的文字和图片会改变位置。
我在cellForRowAtIndexPath中为uiimageview添加固定大小:
[cell.imageView setFrame:CGRectMake(0,0,self.view.frame.size.width,cell.imageView.frame.size.height)];
答案 0 :(得分:1)
由于存在警告并且您放弃了该约束警告,框架将重置为黄色虚线矩形所示。如果自动布局约束中有任何警告,请先修复,然后只有IB显示正在运行时的正确帧。
如果您需要根据自己的内容设置动态单元格高度,请参阅http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout
答案 1 :(得分:1)
我假设您在跳转到任何自动布局之前正确设置了表格单元格高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return x; //x is your table cell xib height
}
执行此操作后,LEt会转到您的表格单元格。您为所有元素提供了前导的顶部和底部,这是好的。
你甚至不需要在你的cellForRowAtIndex方法中提到这个:
[cell.imageView setFrame:CGRectMake(0,0,self.view.frame.size.width,cell.imageView.frame.size.height)];
如果您在设置约束后尝试更改imageview框架,则需要调用
[cell.imageView updateConstraints];
[cell updateConstraints];
如果您在自动布局中看到任何黄色警告,请先尝试解决此问题。 Xcode会为你建议一些修复,通过选择带有黄色警告的元素并点击storyboard中的更新框架选项,看看它是否适合你。
看看它是否有效!!!