2013-09-26 12 views
5

アプリ全体で一貫した一貫したスタイルのキーボードスタイルを設定できる便利なプロパティがココアタッチプロジェクトにありますか?私はUIKeyboardAppearanceAlertすべてのtextFieldsと私は直接何も変更せずに私のアプリで持っているtextViewsしたいと言う。それは可能ですか?アプリ全体にUIKeyboardAppearanceを設定する

答えて

8

いいえ、できません。 keyboardAppearanceUITextInputTraitsプロトコルの一部であり、UIAppearanceメソッドとしてマークされていません。

[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert]; 
あなたはUIKitの見出しで、あなたのコード内から、ドキュメントを見たりすることにより、外観のプロキシで使用することができる方法を識別することができます

(上コマンドクリック:それがあった場合は、あなたのような何かを行うことができます。この方法は、それはヘッダに表示されます

例えば、UINavigationBar.hに、あなたはこれを見ることができます:。

@property(nonatomic,retain) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // default is nil 

マーカーUI_APPEARANCE_SELECTORは、このプロパティは、外観プロキシで使用することができることを意味それは、 keyboardAppearanceには存在しません。 info.plist内のどのキーもアプリケーション全体の外観を定義できるようには見えません。

あなたの最善の策は、textfieldとtextviewをサブクラス化し、それらのサブクラスをどこでも使用することです。

+9

実際に '[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];を呼び出すと、プロパティにUI_APPEARANCE_SELECTORデコレータがない場合でも動作します –

+4

LucaのコードはUITextFieldで動作しましたが、 UITextViewの場合と同じことです。 – arlomedia

関連する問題