-4

こんにちは、コードで 10 個のテキスト フィールドと 2 つのテキストビューを使用しています。次のボタンがタップされたときに、テキストフィールドのキーボードを辞任しています。しかし、テキストビューを辞任する方法がわかりません。textfield のようなデリゲートはありますか? もしあれば、ここに投稿してください。前もって感謝します。

4

2 に答える 2

1

あなたは別の方法でそれを行うことができます

編集

1) .h ファイル「UITextViewDelegate」を配置します。

.xib からの場合は、textView をデリゲートとして設定します

ここに画像の説明を入力

このデリゲート メソッドを記述します

  #pragma mark - UITextView Delegate
  - (BOOL) textView: (UITextView*) textView shouldChangeTextInRange: (NSRange) range
      replacementText: (NSString*) String
     {
         if ([String isEqualToString:@"\n"]) {
            [textView resignFirstResponder];
             return NO;
          }
        return YES;
      }

2) ビューをタッチすると textView が終了します。

.h ファイル「UIGestureRecognizerDelegate」を配置します。

- (void)viewDidLoad
  {

     UITapGestureRecognizer *recognizer;
     recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:nil];
     recognizer.numberOfTouchesRequired=1;
     [self.view addGestureRecognizer:recognizer];
      recognizer.delegate = self;
  }

   - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
      {
          [Your_textView resignFirstResponder];//Take as global Your_textView
           return NO;
      }
于 2013-10-26T09:59:31.727 に答える
-1

UITextView に shouldReturn はありませんが、UITextViewDelegate を実装して挿入を監視できます。

- (BOOL) textView: (UITextView*) textView shouldChangeTextInRange: (NSRange) range
replacementText: (NSString*) text
{
    if ([text isEqualToString:@"\n"]) {
         [textView resignFirstResponder];
         return NO;
    }
     return YES;
}
于 2013-10-26T09:59:43.430 に答える