2011-12-09 13 views
1

UITextFieldにaccessoryViewとしてUIViewを追加しようとしていますが、alphaプロパティが尊重されていないようです。accessoryViewでアルファ透明度を設定する

ここは私の現在のコードです。

self.keyboardAccView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)]; 
[self.keyboardAccView setBackgroundColor:[UIColor lightGrayColor]]; 
[self.keyboardAccView setOpaque:NO]; 
[self.keyboardAccView setAlpha:0.0]; 

UITapGestureRecognizer *hideKeyboardTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard:)]; 
[self.keyboardAccView addGestureRecognizer:hideKeyboardTap]; 
[hideKeyboardTap release], hideKeyboardTap=nil; 

アルファ値は重要ではないようです。私がそれを何に設定しても、accessoryViewは常に透明でないように設定されています。

私が達成しようとしているのは、キーボードの上に透明なビューを表示して、ユーザーがキーボードからタップするたびにキーボードを閉じることです。私が完全に欠けているこれを行うためのより良い/適切な方法があるなら、私はすべての耳でもあります。

  • EDIT *

私は本当に半透明accessoryViewを持っていたかった場合には、私はちょうどのbackgroundColorとして[UIColor clearColor]を使用することができますが、私はそれ以上のアルファは光栄イマイチ設定理由を知りたい知っています

答えて

0

はい - これを行うには良い方法があります。 :)
私は個人的にはこのようにしています - 私は自分のViewController.xibクラス(UIView to UIControl)を変更して、簡単なIBActionを作成して、UIControlをタップすると最初のレスポンダーを辞任します。

方法は次のようになります。

- (IBAction)hideKeyboard { 
[textField resignFirstResponder]; 
} 

をそれだ:)

+0

私はXIBファイル – cpjolicoeur

+0

ああ、そして私の答えを忘れてを使用していませんよ... –

関連する問題