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

しかし、ピッカーが表示されないことがあります。https://github.com/TimCinel/ActionSheetPickerを使用して Picker を作成します。

textFiled をスワイプすると、ピッカーが表示されることがわかりました。

どうすればこれを修正できますか?

更新:私は自分のインサイトを入れUITextFiledましたUIScrollView

4

1 に答える 1

0

最初のタッチが行われた後、タッチイベントのターゲットを追加します。したがって、2番目だけが機能します。なぜこのイベントを追加するのですか?タッチイベントを追加せずに、shouldBeginEditing内にピッカーを表示するだけです。

何かのようなもの

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