2009-06-23 22 views
4

最初に私はiPhone devにとても新しくて、これが簡単ならごめんなさい。Iphoneキーボードの透明度

iPhoneキーボードの透明度(または可能であれば色)を変更することは可能ですか?

私は http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/7350-adding-subviews-custimize-keyboard.html

(リンクが提供)を使用すると、キーボードのビューへの参照を取得することができます知っている私はそれがアニメーションを通じて行うことができると信じて私をリードし、このstackoverflowの記事を見つけました。 iPhone UIView Animation Best Practice

しかし、私はこのコードをどこに置くか分かりません。

ご意見ありがとうございます。フレンドリーすべてが評価され:)コメント男性のための

-TK

感謝を。私はそれがアプリストアを通過するかどうか気にしない。ただ試してやりたいおかげでもう一度:)

+0

+1を承認されてからアプリケーションを防ぐことができます。ありがとうTK! – TamusJRoyce

答えて

12

あり、パブリックAPIで利用可能な唯一の2つのスタイルです:

[textView setKeyboardAppearance:UIKeyboardAppearanceAlert]; 
[textView setKeyboardAppearance:UIKeyboardAppearanceDefault]; 

は、しかし、あなたは、キーボードの実装取得するために、民間のAPIメソッドを使用することができます、

id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance]; 

をそして、それはあまり不透明に

[keyboardImpl setAlpha:0.8f]; 

色合い、

UIView *tint = [[UIView alloc] initWithFrame:[keyboardImpl frame]]; 
[tint setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:1.0f alpha:0.3f]]; 
[tint setUserInteractionEnabled:NO]; 
[[keyboardImpl superview] insertSubview:tint aboveSubview:keyboardImpl]; 
[tint release]; 

、あるいはそれを反転:

[[keyboardImpl window] setTransform:CGAffineTransformMakeScale(-1.0f, 1.0f)]; 

が、すべては、キーボードを取得するためにリンクする

+0

ありがとうございました – TEEKAY

+0

こんにちは、UIKeyboardImplメソッドを使用しようとしているときに、 '暗黙的にライブラリ関数 'objc_getClass'をタイプ ' id(const char *) 'です。私はプライベートAPIの使い方に慣れていません。どのクラスをインポートしたり、カテゴリを作成しなければなりませんか? – Anshul

0

あなたがそれを行うことができれば、あなたがオペレーティングシステムの一部であるオブジェクトをハッキングしているので、アップルはあなたのアプリケーションを拒否します(私はこれに同意するとは言いませんが、Appleは、彼らのUIの外観)。

+0

頭がおかげでありがとう、私は離れてアプリを提出するから離れている。それができると思いますか? – TEEKAY

+0

ポールが正しいです。 Appleがハックを使用するかプライベートAPIを使用するとアプリケーションを承認しない – lostInTransit