坑1
|
|
iOS10.3.3下,一个View从创建—>执行show动画—>隐藏
iOS 11下,一个View从创建—>执行show动画—>隐藏
iOS10.3.3执行动画不会调用layoutSubviews
方法,而在iOS 11下,当执行动画时,会多次调用layoutSubviews
此方法。1234567//这是view的展示动画,在iOS 11上没有效果,研究了很久,最后发现是因为我在`layoutSubviews`初始化的view的frame.[UIView animateWithDuration:animation?AnimationDelay:0 animations:^{_topView.frame = CGRectMake(0, -TopViewHeight, ViewSize(self).width, TopViewHeight);_bottomView.frame = CGRectMake(0, ViewSize(self).height, ViewSize(self).width,BottomViewHeight);} completion:^(BOOL finished) {self.hidden = YES;}];
坑一结论
如果你习惯在layoutSubviews
此方法里定义view
的frame
,可能要针对iOS11做处理。