如何在返回按钮点击> iphone上隐藏UIViewController中的键盘

时间:2011-03-01 07:57:45

标签: objective-c xcode ios scrollview

嗨我发现了一些像这样的问题,但他们谈的是textView,我有ViewController,其中有scrollView,其中有6个textfield和一个textView,我想要一个功能,让键盘在完成/返回按钮上消失。我实现了函数辞职第一个响应者,当我点击scrollView外面时隐藏我的键盘,但这不是我想要的,因为我喜欢让它在按钮点击时消失。

感谢任何帮助

4 个答案:

答案 0 :(得分:14)

设置符合UITextFieldDelegate协议的类,并使文本字段的委托成为此类的实例。实施方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField

如下:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

答案 1 :(得分:5)

嗨我发现了,所以textfields的意思是在viewdidload上添加这行:

textFieldOne.returnKeyType = UIReturnKeyDone;
    textFieldCislo.delegate = self;
textFieldTwo.returnKeyType = UIReturnKeyDone;
    textFieldCislo.delegate = self;
...

这个实现方法:

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

    if (theTextField == textFieldOne) {
        [textFieldOne resignFirstResponder];
    }
...
}

答案 2 :(得分:2)

经过相当多的时间寻找有意义的东西,这就是我放在一起的东西,它就像一个魅力。

·H

//
//  ViewController.h
//  demoKeyboardScrolling
//
//  Created by Chris Cantley on 11/14/13.
//  Copyright (c) 2013 Chris Cantley. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITextFieldDelegate>

// Connect your text field to this the below property.
@property (weak, nonatomic) IBOutlet UITextField *theTextField;

@end

的.m

//
//  ViewController.m
//  demoKeyboardScrolling
//
//  Created by Chris Cantley on 11/14/13.
//  Copyright (c) 2013 Chris Cantley. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController



- (void)viewDidLoad
{
    [super viewDidLoad];
    // _theTextField is the name of the parameter designated in the .h file. 
    _theTextField.returnKeyType = UIReturnKeyDone;
    [_theTextField setDelegate:self];

}

// This part is more dynamic as it closes any text field when pressing return.  
// You might want to control every single text field separately but that isn't 
// what this code do.
-(void)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
}


@end

答案 3 :(得分:2)

您可以使用此方法通过单击视图中的任何位置来隐藏键盘

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.view endEditing:YES];
}