3

ファーストレスポンダーであるUITextFieldがあります。ビューに入るときにキーボードを表示したいのですが、ユーザーがキーボードを編集できなくなり、カーソルも常に非表示になります。

キーボードの文字をクリックすると、UITextFieldに書き込まれますが、ユーザーはそこに何も編集できず、コピーもできません。

ありがとう!

4

3 に答える 3

6

わかりました、私のコメントによると、私の解決策は、プロパティがに設定されているサロゲートUITextFieldを持つことです。私がしているのは、その非表示のテキストフィールドをビューに追加し、それを呼び出すことです。ユーザーは、このテキストフィールドが存在することを知りません。テキストフィールドからのデリゲートコールバックでは、ユーザーが入力したテキストを取得してに追加します(ただし、質問のように、必要なものにテキストを追加できます)。表示されているテキストビューをオフにします。これにより、希望する効果が得られます。hiddenYESbecomeFirstResponderUITextViewUITextFielduserInteractionEnabled

Githubにアップロードしたサンプルプロジェクトを作成しました。(慣れていない場合は、zipボタンをクリックしてダウンロードし、解凍して、.xcodeprojファイルを開きます)。https://github.com/MaxGabriel/HiddenTextField

于 2012-12-01T21:55:04.347 に答える
0

編集された答え:これを試してください:

1. [txtField becomeFirstResponder]; 
2. txtField.enabled = NO; 
3. when some press on keyboard, then txtField.enabled = YES;

これをチェックしてください:http ://www.youtube.com/watch?v = cKV5csbueHA

于 2012-12-01T17:10:43.343 に答える
0

私はUISearchBar自分の中に財産を持っていましたviewController。そして、私はこのようにそれをしました:

- (void)viewWillAppear:(BOOL)animated
{
    [self.searchBar becomeFirstResponder];
}

これは、に対しても同じように機能するはずUITextFieldです。

編集を無効にする場合は、次を使用します。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return NO;
}

viewControllerをのデリゲートに設定する必要がありますUITextField

于 2012-12-01T17:26:53.943 に答える