【问题标题】:i am able to hide 1st texbox's keyboard but not for the 2nd textbox in ios我可以隐藏第一个 texbox 的键盘,但不能隐藏 ios 中的第二个文本框
【发布时间】:2015-08-09 02:07:16
【问题描述】:

您好,我正在尝试在键入时隐藏键盘。我已经成功完成了第一个文本框的代码,即 username_textbox,但是当我为第二个文本框(即密码文本框)执行相同的代码时,键盘不会隐藏。

谁能帮我解决当有多个文本框时如何隐藏键盘的问题。

我的代码是:

ViewController.h

//@interface ViewController : UIViewController
//
//@end


@interface ViewController : UIViewController<UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *usernameTextbox;

@property (strong, nonatomic) IBOutlet UITextField *passwordTextbox;

@end

ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [[self navigationController]setNavigationBarHidden:YES animated:YES ];

    [self.usernameTextbox setDelegate:self];
    [self.passwordTextbox setDelegate:self];

}

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

-(BOOL)textField2ShouldReturn:(UITextField *)textField
{
    [self.passwordTextbox resignFirstResponder];
    return YES;
}

【问题讨论】:

  • 对您的问题并不重要,但为什么您的IBOutlets strong 而不是weak

标签: ios iphone xcode ios7


【解决方案1】:

试试这个

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    // [self.usernameTextbox resignFirstResponder];
    // [self.passwordTextbox resignFirstResponder];
    [self.view endEditing:YES];
    return YES;
}

【讨论】:

  • 您好,我试过了,但它只适用于单个文本框,因为它只隐藏一个文本框的键盘。
  • 您好,这很令人困惑,但不知道突然开始正常工作。非常感谢您的帮助。 +1。
  • @Tim 此方法查看当前视图及其子视图层次结构,以查找当前是第一响应者的文本字段。如果找到,它会要求该文本字段辞去第一响应者的职务。
  • 是的@Bannings 这工作得很好。非常感谢您的帮助。
  • 不知道如何为您的回答投票,因为除非有 15 名声望,否则不允许。
【解决方案2】:

试试这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-16
    • 2017-08-06
    • 2023-03-31
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多