篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了无需制作IBOutlet即可访问UIelements相关的知识,希望对你有一定的参考价值。
我想访问viewController的UIElements(例如Labels和TextFields等)而不进行IBOutlet连接。
例如我在viewController中有一个UITextField,我想像viewControllerName.textFieldName.text = "something I will set here"一样访问它,或者像android findViewById("id of element")一样使用“Tags”,但它不符合我的要求。
答案您将以编程方式创建UITextField,并以编程方式访问UITextFieldName.text =“Some”。以编程方式创建标签Check This link
另一答案是的,您可以访问viewController的UIElements(例如Labels和TextFeilds等),而无需进行IBOutlet连接。首先给UIElement一个标签。然后尝试这个。希望这会有所帮助:
如果要在同一个viewController中访问它
let label = self.view.viewWithTag(4) as? UILabellabel?.text = "Hello there"
如果你想从firstViewController中的另一个viewController访问它
import UIKit internal weak var FirstViewController: ViewController?//in viewDidLoad override func viewDidLoad() { super.viewDidLoad() FirstViewCOntroller= self }
它将使其可以在所有其他viewControllers中访问,然后在secondViewController中
let newlabel = homeViewController?.view.viewWithTag(4) as? UILabel newlabel?.text = "new change"