【发布时间】:2017-10-18 08:05:15
【问题描述】:
我有一个简单的 UICollectionView,在 navigationController 中有一个自定义单元格。出于某种原因,当我推送 viewController 时,collectionView 单元格在转换期间会更改其布局。
在 viewController 转换过程中,这是 uicollectionview 的一些常见行为吗?因为,例如:标签就没有这样的问题
When back button was clicked 来自collectionView的绿色
添加新的视图控制器
navigationController?.pushViewController(controller, animated: true)
使用EasyPeasy pod 设置自动布局
collectionView.easy.layout([
Top(),
Right(),
Width(view.frame.width),
Bottom(10).to(button),
])
button.easy.layout([
Center(),
Height(60),
Width(300),
])
【问题讨论】:
-
你有什么代码可以给我们看吗?
-
很难理解你想用这些约束做什么,但你没有为 collectionview 使用任何高度。我认为这是由按钮计算的。看起来绿色的collectionview被设置为10px(也许?)。你什么时候在你的代码中设置约束?那个蓝色框是什么,以及该元素的约束条件是什么?感觉你的自动布局还是有问题..
-
@MartinBorstrand UICollectionViewCell 的背景颜色为蓝色。我在 viewDidLoad 中设置了约束。对不起给您带来不便。似乎在过渡回单元格变小了
-
Okej,那你设置单元格的大小了吗?看起来怎么样?
-
@MartinBorstrand 在 collectionView(:sizeForItemAt) 中返回 CGSize(width: collectionView.bounds.width, height: collectionView.bounds.height)。正如我上面已经添加的那样,这种行为只发生在 collectionView 单元格