0

私の質問がばかげている場合は申し訳ありませんが、解決する方法が見つかりませんでした。問題は、独自のルールに従ってテキストを折り返す必要があるカスタム テキスト ビューを持っていることです。静的コンテンツではすべてが正常に機能しますが、ユーザーが別の単語を書き始めたときに @"\n" を挿入すると (ユーザーが入力しようとしている単語はわかっていますが、とにかく収まらないことがわかっています)、iPhone キーボードが自動的に切り替わります。これは、単語を大文字にするつもりがなかったため、ユーザーを怒らせます。これらのラップを機能させることは私にとってミッションクリティカルであるため、別の方法で行を終了する方法、またはキーボードバックでシフトを切り替える方法が必要です。

または、2 つの言葉で: プログラムでキーボードのシフトをオフに切り替えるにはどうすればよいですか?

誰か?

更新みんな、iPhone のキーボードに関する小さな質問です。私の知る限り、(UIKeyboardImpl クラスをフェッチして +sharedInstance を呼び出すことにより) キーボードのオブジェクトを取得し、明らかにその周りでいくつかのことを行うことができます。しかし、Apple はそのようなハッキングを非常に懸念していると聞いたので、このような方法で問題を解決した場合、Apple がアプリを拒否する可能性があるのではないでしょうか? 明らかに、私はケイボードの見方を変えるつもりはありませんし、ロジックでさえも (少なくとも人間の観点からは) 同じままですが、これでお尻を蹴られないで十分でしょうか?

UPDATE 2今のところ、オートキャップをオフにしてシフト状態を手動で設定することで、目的の動作を実現することができました。より良い解決策はありますか?

4

1 に答える 1

3

キーボードでシフトを手動で切り替える方法はありませんが(少なくとも、未発見のプライベートAPIを使用せずに)、次のように言うことでテキストフィールドの自動大文字化動作を制御できます。[myTextField setAutocapitalizationType:UITextAutocapitalizationTypeNone];

于 2009-11-14T17:36:22.993 に答える