入力中に表示されるclearButton(×マーク)をカスタマイズ
UITextFieldのrightViewにUIButtonを設定し、
rightViewModeにUITextFieldViewModeWhileEditingをすれば、
デフォルトの動作を再現できるハズだが、挙動が怪しい。
どうやら、iOSのバグみたい。
以下、デフォルトの動作に近づける方法。
- (void)setup
{
UIButton *clearButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
self.rightView = clearButton;
[clearButton addTarget:self action:@selector(clearButtonPushed:) forControlEvents:UIControlEventTouchUpInside];
[self addTarget:self action:@selector(onEditing:) forControlEvents:UIControlEventEditingChanged];
}
- (void)clearButtonPushed:(id)sender
{
self.text = @"";
self.rightViewMode = UITextFieldViewModeNever;
}
- (void)onEditing:(id)sender
{
if(![self.text isEqualToString:@""]){
self.rightViewMode = UITextFieldViewModeAlways;
}else{
self.rightViewMode = UITextFieldViewModeNever;
}
}