Objective c 关闭键盘和按钮
我有两件东西互相碰撞。每一个都很好。但我不知道如何让它们都起作用。问题是,我有一些文本字段和按钮,我在用户触摸背景时添加了键盘,但这个方法也会被调用,然后用户尝试单击按钮。。所以这个按钮不起作用了。这是我键盘上的一些代码,也许任何人都知道如何正确实现Objective c 关闭键盘和按钮,objective-c,ios,xcode,Objective C,Ios,Xcode,我有两件东西互相碰撞。每一个都很好。但我不知道如何让它们都起作用。问题是,我有一些文本字段和按钮,我在用户触摸背景时添加了键盘,但这个方法也会被调用,然后用户尝试单击按钮。。所以这个按钮不起作用了。这是我键盘上的一些代码,也许任何人都知道如何正确实现 -(void)dismissKeyboard { NSLog(@"resign"); [[_textFields objectAtIndex:0] resignFirstResponder]; [[_textFields o
-(void)dismissKeyboard {
NSLog(@"resign");
[[_textFields objectAtIndex:0] resignFirstResponder];
[[_textFields objectAtIndex:1] resignFirstResponder];
[[_textFields objectAtIndex:2] resignFirstResponder];
[[_textFields objectAtIndex:3] resignFirstResponder];
}
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[TableControll.view addGestureRecognizer:tap];
[TableControll.view addSubview:save];
[button addTarget:self action:@selector(goAdvanced)
forControlEvents:UIControlEventTouchUpInside];
[save addTarget:self action:@selector(saveInfo)
forControlEvents:UIControlEventTouchUpInside];
尝试修改这部分代码
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
tap.cancelsTouchesInView = NO;
[TableControll.view addGestureRecognizer:tap];
希望它能帮助你 您好,只需在按钮后面添加一个按钮,按钮宽度将为320,高度将为480,具体取决于iphone的大小。现在,您在背景中有一个按钮,该按钮上有其他按钮。因此,现在您可以为这些按钮提供不同的方法。尝试一下,并告诉我它是否正常工作
快乐编码 这可能是因为手势识别器,要区分点击事件和按钮事件,请使用此选项
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UIButton class]]) {
return NO;
}
return YES;
}
在下面的委托方法中
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
包括条件,如
if([touch.view isKindOfClass:[UIButton class]])
{
return NO;
}
和其他需要激活触摸而不是添加手势识别器的控件,您可以使用触摸开始功能: 例如:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"resign");
[textfield1 resignFirstResponder];
[textFiled2 resignFirstResponder];
}
希望这对你有帮助。
谢谢