我正在为UITextField创建子类,并希望为其rightView属性分配一个自定义按钮。 我在子类的setFrame中设置了按钮。
我的textfields在ViewController和Class中将它们的出口连接设置为Interface Builder中Identity Inspector中的子类。
问题是我的自定义按钮没有出现。
我试图克服这个问题,并在我的子类中创建了一个setupRightView方法。 然后,当我从View Controller调用outlet属性上的setupRightView时 - 瞧 - 一切正常![/ p>
我对Objective-C很新,我想我对对象模型犯了一些愚蠢的错误。 为什么我无法在我的子类中正确设置rightView属性?
答案 0 :(得分:1)
你还记得这样做:
self.rightViewMode = UITextFieldViewModeAlways;
默认情况下,该属性设置为UITextFieldViewModeNever,因此如果不包含该行,则不会看到按钮。
编辑之后:我检查了将我的代码放在setFrame中,它在那里没有用 - 不知道为什么。如果我把它放在awakeFromNib中,它工作正常。
-(void)awakeFromNib {
UIButton *myButton = [UIButton buttonWithType:2];
self.rightView = myButton;
self.rightViewMode = UITextFieldViewModeAlways;
}