UIImage表格单元格中的错误位置

时间:2015-09-23 20:15:05

标签: ios objective-c uiimage

我在表格单元格中定位元素时遇到问题。当我翻阅桌子时,他们改变了自己的位置。我安装了autoresizhe并指出它们应该在哪里,但nalazeyut图片到文本,我不知道如何解决它们。我阅读了很多文章,但找不到适合不同设备的解决方案。请帮我。 当我翻阅或加载表格中的新单元格时,我自己的文字和图片会改变位置。 enter image description here

我在cellForRowAtIndexPath中为uiimageview添加固定大小:

 [cell.imageView setFrame:CGRectMake(0,0,self.view.frame.size.width,cell.imageView.frame.size.height)];

enter image description here

enter image description here

更新: 我修复了我的xib文件。所有约束都是蓝色的。但结果是一样的 - 糟糕。我不知道该怎么做。我怀疑手机无法画画。 enter image description here

enter image description here

2 个答案:

答案 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中的更新框架选项,看看它是否适合你。

看看它是否有效!!!