Swift Xib,标签文本更改
如何处理挂在xib上的标签Swift Xib,标签文本更改,swift,label,xib,Swift,Label,Xib,如何处理挂在xib上的标签 lblName.text = "Label Text" 我得到了一个与 在展开可选值时意外发现nil 您应该按照以下方式更新自定义的视图类 首先,打开View.xibfile setfile's Ownercustom类以查看View,如下图所示 class View: UIView { private var view: UIView! @IBOutlet weak var name: UILabel! @IBOutlet wea
lblName.text = "Label Text"
我得到了一个与
在展开可选值时意外发现nil
您应该按照以下方式更新自定义的
视图
类
首先,打开View.xib
file setfile's Owner
custom类以查看View
,如下图所示
class View: UIView {
private var view: UIView!
@IBOutlet weak var name: UILabel!
@IBOutlet weak var firstname: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup()
}
//FIXME:- Set up
func xibSetup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight]
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "View", bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
}
设置ui标签后
i插座,如下图所示
class View: UIView {
private var view: UIView!
@IBOutlet weak var name: UILabel!
@IBOutlet weak var firstname: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup()
}
//FIXME:- Set up
func xibSetup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight]
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "View", bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
}
然后打开View.swift文件并粘贴下面给出的代码
class View: UIView {
private var view: UIView!
@IBOutlet weak var name: UILabel!
@IBOutlet weak var firstname: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup()
}
//FIXME:- Set up
func xibSetup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight]
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "View", bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
}
现在您可以在
ViewController
中查看View
类的变量,在哪里出现错误?您需要将xib链接到swift文件,然后将每个文本框链接到相应的文本框…可以举个简单的例子吗?我的示例错误:let view=nib.instantiate(withOwner:self,options:nil)[0]as!UIVIEW在此处输入图像描述