簡體   English   中英

如何將xib加載到UIView子類,Swift,iOS

[英]How to load xib to UIView subclass, Swift, iOS

我有一個名為ContentView.xib文件,我想用作名為ContentView的類的視圖,但是我似乎無法加載它。

class ContentView: UIView {
    override init() {
        super.init(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        fatalError("init(coder:) has not been implemented")
    }
}

我知道您可以使用以下方法加載xib ,但是這樣做會出現錯誤:

var contentViewXib: NSArray = NSBundle.mainBundle().loadNibNamed("ContentView", owner: nil, options: nil)

我還xibs文件所有者設置為ContentView ,並將其在“界面生成器”中的“自定義類”設置為我想使用它的類。

任何幫助表示贊賞。 謝謝

如果將文件的所有者設置為ContentView,則在XIB中查看的不是ContentView,而是ContentView可以檢索的普通UIView。

在ContentView的init方法中,就像在問題中所寫的那樣,調用NSBundle.mainBundle()。loadNibNamed(),然后鍵入:

self.addSubview(contentViewXib[0])

您還需要為此新視圖設置約束或自動調整掩碼大小。

編輯:另一個解決方案是直接選擇視圖(不是文件的所有者),並將其類更改為ContentView。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM