gpt4 book ai didi

ios - 如何使用 Swift 2 从 xib 加载自定义 UIView?

转载 作者:行者123 更新时间:2023-11-28 06:54:14 28 4
gpt4 key购买 nike

任务是创建自定义 UIView,使用 Swift 从 .xib 文件加载 UI。我该怎么做?

我尝试使用代码来做到这一点:

import UIKit

@IBDesignable class CustomView: UIView {

var view: UIView!

@IBOutlet weak var label: UILabel!

override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup()
}

func xibSetup() {
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: "CustomView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

return view
}

}

它运行,但因 EXC_BAD_ACCESS 而崩溃并向我显示消息:

warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.

实际上,我需要翻译这里给出的代码http://qnoid.com/2013/03/20/How-to-implement-a-reusable-UIView.html到 Swift 2.0,但我不知道该怎么做。

最佳答案

Try

let yourView = NSBundle.mainBundle().loadNibNamed("youViewNibName", owner: self, options: nil).first as! YourView

在您的 ViewController 类 中执行此操作,然后您可以使用编码器访问所需的 init 中的 View ,您应该在其中调用 xibSetup()

关于ios - 如何使用 Swift 2 从 xib 加载自定义 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34141925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com