在accessoryView上设置alpha透明度

时间:2011-12-09 19:44:15

标签: iphone ios uiview accessoryview

我正在尝试将UIView作为附件添加到UITextField,但alpha属性似乎并未受到尊重。

这是我目前的代码。

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;

alpha值似乎并不重要。无论我将它设置为什么,accessoryView始终设置为无透明度。

我想要完成的是在键盘上方显示一个透明视图,当用户从键盘上轻敲时,该视图将关闭键盘。如果有一个更好/正确的方法来做到这一点,我完全失踪了,我也都是耳朵。

  • 编辑*

我知道我可以使用[UIColor clearColor]作为backgroundColor,但我更想知道为什么alpha设置不值得尊重,以防我真的想要一个半透明的配件。

1 个答案:

答案 0 :(得分:0)

是的 - 还有更好的方法! :)
我个人这样做 - 我改变了我的ViewController.xib类(UIView到UIControl),然后我创建了一个简单的IBAction,它会在UIControl被轻敲时终止第一个响应者。

该方法应如下所示:

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

就是这样:))