在Storyboard中的UIScrollView上添加VC的View, View的frame不正確導(dǎo)致view之間存在空隙的問(wèn)題

問(wèn)題.png

問(wèn)題分析: 由于在Storyboard中布局時(shí), 選擇是特定機(jī)型進(jìn)行的布局, 所以在加載時(shí)如果加載到與storyboard中的機(jī)型不一致的手機(jī)上會(huì)出現(xiàn)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)
        }
    }

附加問(wèn)題: scrollView的滾動(dòng)異常, 同時(shí)可以沿任意方向滾動(dòng)

解決方案: 設(shè)置一下scrollView的contentSize, 如果沿x軸滾動(dòng), width值大, 如果沿y軸滾動(dòng), height值大

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • UIView+SGFrame.h #import @interface UIView (SGFrame) @pro...
    超越時(shí)空的思念_8a22閱讀 1,962評(píng)論 1 1
  • 掌握 UIScrollView的常見(jiàn)屬性 UIScrollView的常用代理方法 UIScrollView的縮放 ...
    JonesCxy閱讀 2,876評(píng)論 1 12
  • 在iOS中,滾動(dòng)視圖UIScrollView用于查看大于屏幕的內(nèi)容。Scroll View有兩個(gè)主要目的: 讓用戶...
    pro648閱讀 39,011評(píng)論 4 37
  • 想必每一個(gè)女子,都有顆想讓靈魂有香氣的心 張愛(ài)玲、趙四、林徽因、陸小曼、宋美齡、胡蝶……她們或出生高貴,或天賦異稟...
    木木夕閱讀 626評(píng)論 1 8
  • 剪輯 其實(shí)剪輯最重要的是給電影打節(jié)奏,如同樂(lè)隊(duì)里的架子鼓,能這么厲害的絕對(duì)不是普通水平「二哈」簡(jiǎn)單講就是干凈利落!...
    33四四閱讀 296評(píng)論 0 1

友情鏈接更多精彩內(nèi)容