Uitableview iTableViewCell内容查看iOS5中的宽度更改?

Uitableview iTableViewCell内容查看iOS5中的宽度更改?,uitableview,ios5,Uitableview,Ios5,在iOS

在iOS<5.0上,此代码用于我的分组表格单元格:

NSLog(@"%f", cell.contentView.bounds.size.width);
返回302

但在iOS5上,相同的代码返回320(即,包括宽度中分组单元布局的边距)

这是预期的行为吗


如果是这样的话,那么如何获得分组的、不包括边距的tableview单元格的宽度?

我认为这一变化与单元格布局的时间有关,并且当更多地了解附件、tableview样式等时,302的宽度是在viewWill*或viewDid*方法中设置的

当我遇到这个问题时,我通过适当地设置
autoresizingMask
属性来修复它,以便在代码中稍后将contentView调整为with of 302

因为我得到了边界宽度,所以我可以在单元格右侧添加一个文本字段,只需添加:

valueTextField.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
使它回到iOS5之前的状态。我怀疑,如果设备旋转或进入或退出编辑模式,我将获得更好的性能,但这个特定的tableview不能执行这两个操作


希望这对你有帮助

很好的解决方案,但实际上,在需要旋转的地方,它会阻止正确的自动调整大小:(这太糟糕了,但如果设置正确,在调整大小时似乎应该会有所帮助。如果单元格在横向移动时变宽,并且字段相对于右侧保持不变,那么它应该正确地向右移动。如果单元格应该保持在原来的位置,相对于单元格左侧,那么检查宽度就不那么必要了,只需要s设置位置。唯一的解决方法似乎是手动调整视图中的大小或位置。