2016-08-27 44 views
1

我想要子類UIScrollView,做一些自定義繪圖和創建自定義的UIViews。 UIViews的繪製和創建工作正常,但視圖只是不滾動。IOS,Swift:爲什麼我的UIScrollView的子類不滾動?

視圖的內部高度是固定的,我在init方法中計算它。我也重寫intrinsticContentSize方法,但是這不起作用。

我做什麼錯了?

import UIKit 

class CustomView: UIScrollView, UIScrollViewDelegate { 
    // MARK: - layout constants 
    private var _intrinsicSize: CGSize?; 

    override init(frame: CGRect) { 
     super.init(frame: frame); 
     self.didLoad(); 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder); 
     self.didLoad(); 
    } 

    private func didLoad() { 
     self.delegate = self; 
     var result = CGSize(); 
     result.height = CGFloat(_halfHourHeight * 48); 
     result.width = 500; 
     _intrinsicSize = result; 
    } 

    override func intrinsicContentSize() -> CGSize { 
     return self._intrinsicSize!; 
    } 

    override func drawRect(rect: CGRect) { 
     super.drawRect(rect); 

     // some custom drawing here 
    } 
} 

回答

1

滾動視圖通常沒有內在大小,它通常不代表任何內容。他們有一個框架,邊界和內容大小 - 這是您有興趣設置的內容大小,並進入設置邊界。

內容大小是所有子視圖的總大小,邊界是這些子視圖當前可見區域的窗口。

儘管可以,但您通常也不會有自定義繪圖代碼。您通常會添加子視圖來爲滾動視圖執行該繪圖。

+0

ContentSize!謝謝!我知道這很簡單,我錯過了這裏... – user884248

相關問題