美文网首页
iOS UIScrollView 自动偏移问题

iOS UIScrollView 自动偏移问题

作者: songjk | 来源:发表于2021-01-22 14:36 被阅读0次

当我们调用presentViewController 从竖屏跳转到横屏的时候,原来竖屏里面的UIScrollView会自动发生偏移

问题现象为:

1. 触发方法:
    UIScrollView _notifyDidScroll
2.触发发生偏移UIScrollView的代理方法:
    -(void)scrollViewDidScroll:(UIScrollView *)scrollView
3.再次触发1和2的方法

原因:

1.设置UIScrollView的约束的时候,没有指定它的(滑动方向上的)宽度,而是通过左右约束来动态生成宽度
2.当屏幕旋转的时候,UIScrollView的宽度会因为约束发生变化
3. UIScrollView的宽度发生变化后,其contentOffset也会发生变化,所以回到竖屏控制器后就回发生偏移

解决办法

设置UIScrollView可以滑动的方向上的约束要设置为固定值,
比如水平滑动要设置宽度为屏幕宽度,这样滑动方向上的宽度或者高度不会发生变化,
所以contentOffset也不会发生变化,所以就不会在跳转横屏时发生偏移

相关文章

网友评论

      本文标题:iOS UIScrollView 自动偏移问题

      本文链接:https://www.haomeiwen.com/subject/aflngktx.html