【发布时间】:2011-08-23 18:15:20
【问题描述】:
我尝试将 UITextField 子类化如下,以将自定义 rightView 实现为清除按钮:
-(void) drawRect:(CGRect)rect
{
[self.layer setBackgroundColor:[[UIColor colorWithRed:20.0/255.0 green:20.0/255.0 blue:20.0/255.0 alpha:1] CGColor]];
[self.layer setCornerRadius:15.0];
UIImage *imgClear = [UIImage imageNamed:@"btnClear"];
CGSize iSize = [imgClear size];
UIButton *clearButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, iSize.width, iSize.height)];
[clearButton setImage:imgClear forState:UIControlStateNormal];
[clearButton addTarget:self action:@selector(clearText:) forControlEvents:UIControlEventTouchUpInside];
[self setRightViewMode:UITextFieldViewModeWhileEditing];
[self setRightView:clearButton];
[clearButton release];
}
但问题是:当文本字段刚刚成为焦点时,“清除”按钮也变得可见,并且在我开始点击键盘后它消失了。有什么想法吗?
【问题讨论】:
标签: objective-c ios uibutton uitextfield