0

这是我的.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.
}

当我触摸我的文本字段时,我总是看到这个日志textFieldShouldBeginEditing

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

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

我怎样才能解决这个问题?

更新:我把我的UITextFiled网站UIScrollView

4

1 回答 1

0

您正在为第一次触摸后的触摸事件添加目标。所以只有第二个会起作用。为什么要添加这个事件?您可以简单地在 shouldBeginEditing 中显示选择器,而无需添加触摸事件

就像是

[self selectQuarterPicker:self]; //assuming the parameter is the sender as you commented
于 2012-11-22T16:38:00.167 回答