簡體   English   中英

使用Swift在Xcode 6中使用Xib在自定義uiview中獲取SIGABRT

[英]Getting SIGABRT in custom uiview using xib in Xcode 6 using Swift

通過在線閱讀一些教程,我創建了帶有兩個標簽的自定義視圖。 我已將自定義xib連接到帶有兩個標簽出口的swift class文件。 當我從需要顯示視圖的視圖控制器初始化視圖時,在行上收到SIGABRT錯誤

let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

自定義視圖類的代碼如下:

import UIKit

@IBDesignable class LevelButton: UIView {

    @IBOutlet weak var levelLabel: UILabel!
    @IBOutlet weak var score: UILabel!
    var view:UIView!
    var levelLabelText:String?
    {
            get
            {
                return levelLabel.text
        }
        set(levelLabelText)
        {
            levelLabel.text = levelLabelText
        }
    }

    var scoreText:String?
        {
        get{
            return score.text
        }
        set(scoreText)
        {
            score.text = scoreText
        }
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        setup()
    }
    required init(coder aDecoder:NSCoder)
    {
        super.init(coder: aDecoder)
        setup()
    }

    func setup()
    {
        view = loadViewFromNib()
        view.frame = bounds
        view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
        addSubview(view)
    }
    func loadViewFromNib() -> UIView
    {
        let bundle = NSBundle(forClass: self.dynamicType)
        let nib = UINib(nibName: "LevelButton", bundle: bundle)
        let view = nib.instantiateWithOwner(nil, options: nil)[0] as! UIView
        return view
    }

}

在主故事板上,我添加了一個視圖,並使用上述代碼將其自定義類設置為該類,但該類未顯示任何內容,並給出了SIGABRT錯誤。

我無法解決。 請提出建議(僅限Swift)。

這可能是您的問題的解決方案:

更改此功能:

func setup()
{
    view = loadViewFromNib()
    view.frame = bounds
    view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
    addSubview(view)
}

至:

func setup() {

    if self.subviews.count == 0 {
        view = loadViewFromNib()
        view.frame = bounds
        view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
        addSubview(view)
    }

}

來源: http//blog.boxuanzhang.me/custom-reusable-uiview-with-xib/

暫無
暫無

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

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