如何在swview的子视图中使用标签的属性

时间:2016-04-06 01:56:56

标签: ios swift

我添加了一个视图,其类是“MyView.swift”。 然后我添加一个标签并将其属性注册到“ViewController.swift”

@IBOutlet weak var lbl: UILabel!

我想在“MyView.swift”中修改lbl.text,我该怎么做?

1 个答案:

答案 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