美文网首页
在Storyboard中的UIScrollView上添加VC的V

在Storyboard中的UIScrollView上添加VC的V

作者: 华子的学习之路 | 来源:发表于2019-06-05 16:05 被阅读0次
问题.png

问题分析: 由于在Storyboard中布局时, 选择是特定机型进行的布局, 所以在加载时如果加载到与storyboard中的机型不一致的手机上会出现frame异常的情况(可以在scrollView所在的vc的viewDidLoad方法中打印一下scrollView的frame)

解决方案: 在viewDidLayoutSubviews方法中重置一下 view 的frame

override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        let width = UIScreen.main.bounds.width
        let height = scrollView.bounds.height
        scrollView.contentSize = CGSize(width: width * 3, height: height)
        let subs = scrollView.subviews
        for (i, view) in subs.enumerated() {
            view.frame = CGRect(x: CGFloat(i) * width, y: 0, width: width, height: height)
        }
    }

附加问题: scrollView的滚动异常, 同时可以沿任意方向滚动

解决方案: 设置一下scrollView的contentSize, 如果沿x轴滚动, width值大, 如果沿y轴滚动, height值大

相关文章

网友评论

      本文标题:在Storyboard中的UIScrollView上添加VC的V

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