我需要为UITextField创建自定义清除按钮(因为我的配色方案)。我使用下面的代码(其中类是UITextField派生类):如何停止UIButton(用作自定义清除按钮)将UITextField作为第一响应者辞职?
UIButton *clearButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
[clearButton setImage:[UIImage imageNamed:@"ClearButton.png"] forState:UIControlStateNormal];
[self setRightView:clearButton];
[self setRightViewMode:UITextFieldViewModeNever];
[clearButton addTarget:self action:@selector(clear:) forControlEvents:UIControlEventTouchUpInside];
这很好,主要是。问题是单击清除按钮会导致UITextField退出第一响应者状态(即键盘消失)。我希望UITextField保持焦点。
我试着在清除按钮的动作中恢复第一个响应者状态,但是,如果UITextField在UITableView中并且被滚动 - 这会在键盘关闭和打开时在表中引起一些不希望的滚动。
我可以使用UIImageView而不是UIButton,但是当按钮被点击时,我没有看到可视的“脉冲”。
那么,有没有办法使UITextField在按下按钮时保留第一响应者状态?
我正在开发使用的是iOS 6的iPhone应用程序
[注:在“明确表示:”行动的目标只是清空文本字段,但是,无论如何,即使我没有设置出现我的问题目标。]
感谢您的回复。文本字段在这一点上是绝对可见的。必须让我能够点击清除按钮。 – dommer 2013-02-23 19:39:17