iPhone:禁用TextField焦点上的其他元素

时间:2009-07-06 11:25:56

标签: iphone uitextfield

让我们从一个例子开始:当你在iPhone上输入Contact程序时,然后在TextField“Search”上键入,键盘显示自己,而tableView下面是黑暗(和停用)。然后,如果我触摸这个黑暗的停用列表,键盘会隐藏自己并且列表变得正常。

我想重现这个功能,但我不知道如何。 有没有Cocoa方法,还是我必须自己重新开发?

感谢您的建议。

玛特

2 个答案:

答案 0 :(得分:2)

我甚至会将UIView设置为uibutton,以便您可以在需要时关闭键盘。哦,那已经存在了!

好的,这里有一些代码,演示了如何添加按钮本身:

   CGRect frame = CGRectMake(0,
                                                      0,
                                                      [self parentViewController].view.bounds.size.width,
                                                      [self parentViewController].view.bounds.size.height);
    imageView = [[UIButton alloc] initWithFrame:frame];
    [imageView setAlpha:0];
    imageView.opaque = NO;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2];
    [imageView setAlpha:0.8];
    imageView.backgroundColor = [UIColor blackColor];
    [UIView commitAnimations];
    [imageView addTarget:self action:@selector(lockedScreenAction:) forControlEvents:UIControlEventTouchUpInside];

    [[self parentViewController].view addSubview:imageView];

答案 1 :(得分:1)

我很确定你需要自己开发它。看看手机上的效果,我想我会有一个完全透明(但是黑色)的UIView覆盖我的UITableView。注册UIKeyboardWillShow通知,当您收到它时,将该UIView的不透明度设置为70%。在UIKeyboardWillHide上反转该过程。