uitextfield redignfirstresponderが機能していませんか?
-
27-09-2019 - |
質問
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)
インターフェイスビルダーにすべてのUI要素を追加しました。 UIControl's touchDown
メソッドが接続されています backgroundTap
方法。
-(IBAction) backgroundTap:(id) sender {
[loginTxt resignFirstResponder];
[pwdText resignFirstResponder];
//[[UIApplication sharedApplication] becomeFirstResponder];
//[sender resignFirstResponder];
}
したがって、キーボードは想定されているように削除されていません。理由がわかりません。
助けてくれてありがとう!テジャ。
解決
DyingCactusはあなたのエラーを指しています。コントロールのペン先のバージョンを完全に異なるコントロールに置き換え、ペン先のポインターへのポインターを失います。あなたが電話するとき resignFirstResponder
, 、実際に画面上にあるオブジェクトではなく、重複オブジェクトでそれを呼んでいます。を取り除きます alloc
と init
ペン先に配線されたものを呼びます。
所属していません StackOverflow