这可能是一个很傻的问题,但我无法在任何地方找到答案。 如果我想在代码中创建一个UIButton
并需要设置运行时属性,那么如果不使用界面构建器严格在代码中如何实现?
实际上我弄明白了,就像我说的那样,这是一个愚蠢的问题。
[UIButton *loginbtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[loginbtn setValue:@"blah" forKey:@"myAttr"];
-setName:
方法将被调用,并带有@"Bob"
作为参数。-viewDidLoad
方法或其他适当位置:self.button.name = @"Bob";
@propertyWrapper
public struct HeapIgnore<T> {
public var wrappedValue: T {
didSet {
(wrappedValue as? NSObject)?.setValue(true, forKey: "heapIgnore")
}
}
public init(wrappedValue: T) {
self.wrappedValue = wrappedValue
}
}
... // Inside ViewController
@HeapIgnore
@IBOutlet private var passwordTextField: UITextField!
你需要在代码中引用UIButton(通常通过创建IBOutlet)然后就可以像在编程时创建按钮一样访问它的属性。
如果你想要以编程方式创建按钮:
UIButton *button = [[UIButton alloc] initWithFrame:frame];
[button setTitle:@"Title" forState:UIControlStateNormal];