有些时候无法隐藏iOS键盘并显示UIPickerView

时间:2012-11-22 15:34:14

标签: objective-c uitextfield uipickerview

这是我的.h

xxxx : UIViewController<UITextFieldDelegate>

和我的.m

UITextField *quarterPicker = [[[UITextField alloc] init] autorelease];
[quarterPicker setFrame:CGRectMake(150, 370, 60, 30)];
[quarterPicker setText: @"Q1"];
quarterPicker.delegate = self;

我使用

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
     NSLog(@"textFieldShouldBeginEditing"); 
    [textField resignFirstResponder];
    [textField addTarget:self action:@selector(selectQuarterPicker:) forControlEvents:UIControlEventTouchDown];
    return NO;  // Hide both keyboard and blinking cursor.
}

当我触摸我的textField时,我总是看到此日志textFieldShouldBeginEditing

但是有一段时间,我的Picker没有表现出来。我使用:https://github.com/TimCinel/ActionSheetPicker制作Picker。

我发现,当我刷我的textFiled时,我的选择器会显示。

我该如何解决这个问题?

更新:我将UITextFiled insite UIScrollView

1 个答案:

答案 0 :(得分:0)

您在第一次触摸后添加触摸事件的目标。所以只有第二个才有效。为什么要添加此活动?您可以在不添加触摸事件的情况下在shouldBeginEditing中显示选择器

这样的东西
[self selectQuarterPicker:self]; //assuming the parameter is the sender as you commented