0

Interface Builder で次の方法を使用する方法を知っています。

-(void)dismissKeyboard 
{
    [testTextField resignFirstResponder];
}

このように、キーボードの外側の領域をタッチするか、「戻る」をタップすると、キーボードが閉じます。

しかし、それをすべてコードで作成する方法がわかりません。教えてください、ありがとう。

ここに.hがあります

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController 
{
    UITextField *testTextField;
}

@property (nonatomic,retain) UITextField *testTextField;
@end

ここに.mがあります

#import "SecondViewController.h"
@implementation SecondViewController 
@synthesize testTextField;

- (void)viewDidLoad
{
    [super viewDidLoad];    

    UITextField *tempTextField = [[UITextField alloc] init];
    self.testTextField = tempTextField;
    testTextField.frame = CGRectMake(100, 150, 200, 30);
    testTextField.placeholder = @"Test";
    testTextField.backgroundColor = [UIColor whiteColor];
    testTextField.textColor = [UIColor blackColor];
    [self.view addSubview:testTextField];

}
4

3 に答える 3

3

あなたが欠けているのは、UITextFieldDelegateさまざまな理由で呼び出される多くのテキストフィールドメソッドが付属していることです.

アップルのドキュメントをチェックしてください! http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

でキーボードを辞任する必要があります

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
}
于 2011-10-27T07:07:39.307 に答える
3

このコードをviewdidloadで使用してください

 UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.view addGestureRecognizer:gestureRecognizer];
  } 

 - (void) hideKeyboard 
  {
[textfieldname1 resignFirstResponder];
    [textfieldname2 resignFirstResponder];
  }
于 2011-10-27T10:10:19.403 に答える
0

ヘッダーに追加UITextFieldDelegateして、次のデリゲート メソッドを実装します。

textFieldShouldEndEditing:

メソッドでファーストレスポンダーを辞任します。

于 2011-10-27T07:06:01.717 に答える