的UITextField resignFirstResponder不工作?
-
27-09-2019 - |
题
我仔细检查过的笔尖文件中的所有连接。我的代码 -
// 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)
的子类,添加了所有UI元素在界面中builder.The UIControl's touchDown
方法被连接到backgroundTap
方法。
-(IBAction) backgroundTap:(id) sender {
[loginTxt resignFirstResponder];
[pwdText resignFirstResponder];
//[[UIApplication sharedApplication] becomeFirstResponder];
//[sender resignFirstResponder];
}
所以键盘并没有像它应该删除。不知道为什么。
感谢您的帮助! 的Teja。
解决方案
DyingCactus指出你的错误。你跟一个完全不同的控制替代控制的NIB版本,失去你的指针之一的NIB。当你调用resignFirstResponder
,你调用它的复制对象,而不是一个实际的屏幕上。摆脱alloc
和init
呼吁的事情在NIB有线的。
不隶属于 StackOverflow