我们有一个UICollectionView
故事板上有一个原型单元。该细胞有一个UILabel
("label
") 其中,其定位没有自动布局。
我们有条件地设置标签的框架-collectionView:cellForItemAtIndexPath:
像这样的 setFrame:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CategoryCell *cell;
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Category" forIndexPath:indexPath];
...
if (self.isViewTypeList) {
[((CategoryCell *)cell).label setFrame:FRAME_RECT];
}
...
return cell;
}
我们检查过它,看来首先它调用了标签的-setFrame:
当它到达出列时,使用情节提要值,然后我们的代码如下,这会正确设置新帧。除了这些之外没有其他调用,但标签仍保留在屏幕上的原始位置。
怎么了?为什么新框架设置不正确?难道还有其他什么过分的事情吗?我是否必须以某种方式重新布局或刷新它?
从 xib 中取消选中自动布局。改变框架可能会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)