質問

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, 、実際に画面上にあるオブジェクトではなく、重複オブジェクトでそれを呼んでいます。を取り除きます allocinit ペン先に配線されたものを呼びます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top