Stackview轴更改延迟

时间:2017-11-01 11:25:51

标签: ios uitableview uinavigationcontroller autolayout uistackview

我有一个带有UIStackView的tableview单元格。在我的cellForRow方法中,我根据某些因素,从水平到垂直更改了栈视图的轴。

出于某种原因,当我将包含表格单元格的viewcontroller推送到我的navigationcontroller时,此更改会略有延迟。这就像在推动动画完成后完成轴更改一样。因此,当视图控制器和单元格首次出现在屏幕上时,轴是水平的,一旦动画完成,它就会变为垂直。

如果包含表格单元格的视图控制器是rootviewcontroller,则会立即发生更改,因此问题似乎是推动视图控制器和同时更改stackview轴的组合。

我在更改访问权限后尝试使用self.layoutIfNeeded(),立即强制更改布局,但这似乎没有改变任何内容。

之前有没有人见过这种行为,是否有解决方案?

1 个答案:

答案 0 :(得分:1)

对于任何有兴趣的人,我设法通过在单元格的traitCollectionDidChange方法中设置轴来解决这个问题。创建单元格时始终会调用此方法,并且似乎在推动动画开始之前更新布局。