我正在使用的是我有一个自定义UIView,它将UILabel和UITextField组合在一起作为一些用户输入的一部分。我在应用程序中显示的整个视图中有几个。什么是好的是能够让用户触摸UILabel或UITextField,然后让UITextField允许输入字段。
有一种简单的方法吗?
答案 0 :(得分:1)
是的,有,我实际测试过它。您可以为视图添加点击手势识别器(包含标签和文本视图的手势识别器),如下所示:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
[self addGestureRecognizer:[tap autorelease]];
然后,在viewTapped:
-(void)viewTapped:(id)sender {
[self.yourTextField becomeFirstResponder];
}
希望这有帮助!
答案 1 :(得分:1)
为您的标签添加点击手势识别器,点击时告诉相应的文本字段成为第一响应者(调出键盘)。
// In your init or awakeFromNib:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelTapped:)];
self.label.userInteractionEnabled = YES;
[self.label addGestureRecognizer:tap];
...
- (void)labelTapped:(id)sender
{
[self.textField becomeFirstResponder];
}
答案 2 :(得分:0)
您可以定义UIGestureRecognizer
委托方法,并检查是否是所需的点按手势区域。如果是,则返回TRUE,否则返回FALSE。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
// Disallow recognition of tap gestures in the segmented control.
if ((touch.view == yourButton)) {//change it to your condition
return NO;
}
return YES;
}