我添加了一个视图,其类是“MyView.swift”。 然后我添加一个标签并将其属性注册到“ViewController.swift”
@IBOutlet weak var lbl: UILabel!
我想在“MyView.swift”中修改lbl.text,我该怎么做?
答案 0 :(得分:0)
据我了解你的问题:你有视图控制器。在UIViewController的视图中,您有另一个视图MyView,在此视图中,您有一个标签,并且您想要更改其文本。
在这种情况下,最好在视图控制器double METRIC_MIN = 1.0/DBL_MAX;
double METRIC_MAX = DBL_MAX;
但如果你不能这样做,我会看到几个解决方案:
1)您可以设置lbl.text = "new text"
,之后您可以从视图中获取标签:
lbl.tag = 2016
我认为这是最好的方式。
2)您可以从视图发送NSNotification并在ViewController中接收此通知并更改视图控制器中的文本
3)您可以在ViewController视图中使用弱引用,在ViewController中使用方法更改文本。在if let myLabel = self.viewWithTag(2016) as? UILabel {
myLabel.text = "new text"
}
的这种情况下,您可以设置此引用viewDidLoad
。然后在MyView中,您可以调用此方法myView.viewController = self