ファーストレスポンダーであるUITextFieldがあります。ビューに入るときにキーボードを表示したいのですが、ユーザーがキーボードを編集できなくなり、カーソルも常に非表示になります。
キーボードの文字をクリックすると、UITextFieldに書き込まれますが、ユーザーはそこに何も編集できず、コピーもできません。
ありがとう!
ファーストレスポンダーであるUITextFieldがあります。ビューに入るときにキーボードを表示したいのですが、ユーザーがキーボードを編集できなくなり、カーソルも常に非表示になります。
キーボードの文字をクリックすると、UITextFieldに書き込まれますが、ユーザーはそこに何も編集できず、コピーもできません。
ありがとう!
わかりました、私のコメントによると、私の解決策は、プロパティがに設定されているサロゲートUITextField
を持つことです。私がしているのは、その非表示のテキストフィールドをビューに追加し、それを呼び出すことです。ユーザーは、このテキストフィールドが存在することを知りません。テキストフィールドからのデリゲートコールバックでは、ユーザーが入力したテキストを取得してに追加します(ただし、質問のように、必要なものにテキストを追加できます)。表示されているテキストビューをオフにします。これにより、希望する効果が得られます。hidden
YES
becomeFirstResponder
UITextView
UITextField
userInteractionEnabled
Githubにアップロードしたサンプルプロジェクトを作成しました。(慣れていない場合は、zipボタンをクリックしてダウンロードし、解凍して、.xcodeprojファイルを開きます)。https://github.com/MaxGabriel/HiddenTextField
編集された答え:これを試してください:
1. [txtField becomeFirstResponder];
2. txtField.enabled = NO;
3. when some press on keyboard, then txtField.enabled = YES;
これをチェックしてください:http ://www.youtube.com/watch?v = cKV5csbueHA
私はUISearchBar
自分の中に財産を持っていましたviewController
。そして、私はこのようにそれをしました:
- (void)viewWillAppear:(BOOL)animated
{
[self.searchBar becomeFirstResponder];
}
これは、に対しても同じように機能するはずUITextField
です。
編集を無効にする場合は、次を使用します。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
viewControllerをのデリゲートに設定する必要がありますUITextField
。