理解できません。基本的に、UITextFieldと同じスタイルが必要ですが、複数行の文字列を取得できるようにします。よくある質問だと思いますが、ウェブ上のどこにも読みやすい解決策が見つかりません。
ああ、どうすればキーボードをタッチアウトしたり、[完了]ボタン(存在しないように見える)を押したりしたときに、いまいましいキーボードを消すことができますか?
理解できません。基本的に、UITextFieldと同じスタイルが必要ですが、複数行の文字列を取得できるようにします。よくある質問だと思いますが、ウェブ上のどこにも読みやすい解決策が見つかりません。
ああ、どうすればキーボードをタッチアウトしたり、[完了]ボタン(存在しないように見える)を押したりしたときに、いまいましいキーボードを消すことができますか?
textviewの場合、残念ながらuはその形状を変更できませんが、uができることは、丸みを帯びた正方形の画像をtext viewの後ろに置き、textviewsの背景を透明にすることです。キーボードを閉じるには、ユーザーが編集を開始するたびにボタンをポップアップし、それを押してキーボードを閉じる必要があります。
UITextFieldの外観を変更する組み込みの方法はありません。代わりにできることは、UITextFieldをサブクラス化して外観を変更するか、何らかの背景ビューを追加して、希望の形に見えるようにすることです。(固定の高さのフィールドが必要だと思います。AppleのSMSアプリケーションのようにフィールドの高さを変更したい場合は、フィールドのフレームの変更を見て、背景ビューを適切に調整する必要があります。 。)
キーボードを取り除くには、編集中のオブジェクト(Cocoaの用語では「ファーストレスポンダー」)に次のresignFirstResponder
メソッドを送信します。
[myTextField resignFirstResponder];
これにより、フィールドはテキストやタッチなどの入力を処理するオブジェクトとしてのステータスを放棄し、キーボードが消えます。これを、[完了]ボタンが押されて設定されたときに呼び出されるメソッド内にネストします。フィールド外のプレスでテキストフィールドの最初のレスポンダーを辞任するtouchesEnded:withEvent:
場合は、 ViewControllerでオーバーライドすることもできます。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
[myTextField resignFirstResponder];
}