按返回键我无法隐藏键盘

2 iphone ios resignfirstresponder

我试过这个:

.h档案中:

    @interface TouchLabelViewController : UIViewController<UITextFieldDelegate>
@property (strong, nonatomic) IBOutlet UITextField *aTextField;        
-(IBAction)hideKeyboard:(id)sender;
Run Code Online (Sandbox Code Playgroud)

.m文件中:

-(IBAction)hideKeyboard:(id)sender{
    [(UITextField*)sender resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

并试过这个.

.h档案中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    aTextField.delegate = self;
}
@property (strong, nonatomic) IBOutlet UITextField *aTextField;
-(BOOL) textFieldShouldReturn:(UITextField *)textField;
Run Code Online (Sandbox Code Playgroud)

.m档案中:

-(BOOL) textFieldShouldReturn:(UITextField *)textField{

    [aTextField resignFirstResponder];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我触摸返回键时,它都不会隐藏键盘.

Kam*_*had 8

将委托设置为Textfield时,可以利用这些(委托)方法.

你应该检查你的代表是否已将代表设置为文本字段

在你的.h班级中设置此项

     YourViewController :   UIViewController <UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)

现在,您在下面创建了TextField集委托

       myTextField.delegate = self;
Run Code Online (Sandbox Code Playgroud)

并且进一步做与你一样的事情

 -(BOOL) textFieldShouldReturn:(UITextField *)textField{
     [textField resignFirstResponder];
     return YES;
  }
Run Code Online (Sandbox Code Playgroud)

编辑:如果您将当前呈现为 UIModalPresentationFormSheet 演示模式,则可以在不需要时保持键盘可见.默认实现会影响UIModalPresentationFormSheet可见性.这就是为什么需要覆盖它以隐藏键盘

  - (BOOL)disablesAutomaticKeyboardDismissal 
 {
   return NO; 
 }
Run Code Online (Sandbox Code Playgroud)