0

キーボードの上部にある画像ボタン付きのshowhideiphoneキーボードを使用します。

    [kbdImage setFrame:CGRectMake(290, 0, 30, 30)];                                                             
    [accessoryView setFrame:CGRectMake(290, 0, 320, 30)];

    UITapGestureRecognizer *gestureRecogniser = [[UITapGestureRecognizer alloc]    initWithTarget:self action:@selector(hideKeyBoard:)];
     gestureRecogniser.numberOfTapsRequired = 1;

     [accessoryView addSubview:kbdImage];
     [accessoryView addGestureRecognizer:gestureRecogniser];


     for (UIView* v in searchBar.subviews) {
        if ([v isKindOfClass:[UITextField class]]) {
           ((UITextField*)v).inputAccessoryView = accessoryView ;
        }
     }

これは、キーボードを非表示にする場合に機能します。ただし、入力ビューの残りの領域もタッチ可能です。これを回避する方法。

4

1 に答える 1

1

これは、全体にタップジェスチャを追加しているAccessoryViewため、ビュー全体がその画像ボタンのみにタップジェスチャを追加するのではなく、タップジェスチャに応答するために発生します。

    kbdImage.userInteractionEnabled = YES;
    [kbdImage addGestureRecognizer:gestureRecogniser];
于 2013-02-15T12:17:59.760 に答える