繁体   English   中英

UITextField resignFirstResponder无法正常工作?

[英]UITextField resignFirstResponder not working?

我已经仔细检查了nib文件中的所有连接。 我的代码-

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"iphone_bg_login.png"]];
    self.title = @"Login screen";
    loginTxt = [[UITextField alloc] init];
    pwdText = [[UITextField alloc] init];
    loginFailedTxt = [[UILabel alloc] init];
    loginBtn = [[UIButton alloc] init];
    navAppDelegate = (NavAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    navAppDelegate.navController.navigationBarHidden = YES;
    //NSArray *subVs = (NSArray *) [self.view subviews];
    [super viewDidLoad];
}

我使用了UIView (UIControl)的子类,并在“界面UIControl's touchDown向其中添加了所有UI元素UIControl's touchDown方法连接到backgroundTap方法。

-(IBAction) backgroundTap:(id) sender {
    [loginTxt resignFirstResponder];
    [pwdText resignFirstResponder];
    //[[UIApplication sharedApplication] becomeFirstResponder];
        //[sender resignFirstResponder];
} 

因此,并未像预期的那样卸下键盘。 不知道为什么。

谢谢您的帮助! Teja公司。

DyingCactus指出了您的错误。 您正在用完全不同的控件替换该控件的NIB版本,从而丢失了指向NIB中的指针的指针。 当您调用resignFirstResponder ,您是在重复的对象上调用它,而不是在屏幕上实际的对象上调用它。 摆脱对NIB中连接的东西的allocinit调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM