2011-12-12 10 views
12

ボタンを押したときに表示されると思われるTextViewが表示され、ユーザーがキーボードからテキストを入力できるようになりました。トラブルシューティングbecomeFirstResponderが一部のユーザーにキーボードを表示していない

- (IBAction) changeName { 

    changeNameBtn.hidden = YES; 
    backBtn.hidden = YES; 

    usernameLabel.hidden = NO; 
    inputTextField.hidden = NO; 
    [inputTextField becomeFirstResponder]; // to show keyboard 
} 

これはほとんどの人にとってうまくいきます。

しかし、地理的に離れた場所にある私のテスターの一部にキーボードが表示されません。トラブルシューティング方法は?私たちのデバイスのさまざまな動作の理由は何でしょうか?私と他のみんなにとってうまくいく。私たちはすべて同じデバイス(iPod、iOS 4.1 - 5.1)を使用しています。

私はbecomeFirstResponderが解雇された前inputTextFieldは、何らかの方法で、時間に見えにならなかったことを推測し、私はそれが更新を強制だろうと思って、私はsetNeedsDisplayを追加しました:私はは動作しませんでした試みた

最初のもの。私は動作しませんでした試みた

[inputTextField setNeedsDisplay]; 
[inputTextField becomeFirstResponder]; 

第二もの:

if([inputTextField canBecomeFirstResponder]){ 
    [inputTextField becomeFirstResponder]; 
} 

は、私が試したサード事は、フィールドを押すように不運なユーザーを必要とする、回避策です:

- (IBAction) inputTextFieldTouch { 
    [inputTextField becomeFirstResponder]; 
} 

この回避策は機能しますが、より良い方法が必要です。私が間違っていることについて私に教えてください! :)そして、自分自身でそれを複製することなく、このような問題にアプローチする方法は?

答えて

9

テキストビューは、最初のレスポンダにしようとするまでに描画されていません。

外観をアニメーション化して、完了ブロックの最初のレスポンダを設定できます。

[UIView animateWithDuration:0.0 animations:^{ 
    [view addSubview:textView]; 
} completion:^(BOOL finished){ 
    [textView becomeFirstResponder]; 
}]; 
0

は、あなたが最初にキーボードを表示することができるかどうかを確認してください:

if([inputTextField canBecomeFirstResponder]){ 
    [inputTextField becomeFirstResponder]; 
} 
26

を私はこの後行によってbecomeFirstResponderと呼ばれる:

[self.searchBar performSelector:@selector(becomeFirstResponder) 
        withObject:nil 
        afterDelay:0.1f]; 

それは私のために働きました。この助けを願っています。

+0

は実際には答えより優れていますが、それは正しいとマークされています。 –

+0

良い、どのように、Ilya? – JOG

4
のiOSシミュレータ上で私のためにキーボードを表示しませんUITextViewにbecomeFirstResponderを呼び出すiOS8のよう

、が、それは実際のデバイス上で行います。実際のデバイスで確認してください。でも、これはiOS7では起こりません。

+8

Cmd + Shift + Kを押してコンピュータのキーボードを使用しましたか?それは私のためにシミュレータのキーボードを表示したり隠したりします。 – chedabob

+0

私のすべてのテスターは、キーボードが表示されなかったデバイスを含め、実際のデバイスを使用しています。質問には、「私たちはすべて同じデバイス(iPod、iOS 4.1 - 5.1)を使用しています」と述べています。 – JOG

関連する問題