2009-07-06 61 views
1

讓我們從一個例子開始:當您在iPhone上輸入聯繫人程序時,然後在TextField上輸入「Search」,鍵盤顯示自身,並且tableView下方變暗停用)。然後,如果我觸摸這個黑暗的停用列表,鍵盤會隱藏自己,列表變得正常。iPhone:禁用TextField焦點上的其他元素

我想重現此功能,但我不知道如何。 有沒有可可方法,還是我必須自己重新開發?

感謝您的建議。

集市

回答

2

我甚至會將UIView設置爲一個uibutton,因此您可以在需要時關閉鍵盤。哦,那已經在那裏了!

OK,這裏的一些代碼,演示瞭如何添加按鈕本身:

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

我敢肯定,你將需要爲自己開發。看看我的手機上的效果,我想我會有一個完全透明的(但黑色)UIView覆蓋我的UITableView。註冊UIKeyboardWillShow通知,並在收到它時,將該UIView的不透明度設置爲70%。反轉UIKeyboardWillHide上的過程。

+0

如果你使用一個UIButton,點擊它釋放的鍵盤也很容易。將按鈕類型設置爲自定義,將backgroundColor設置爲0.7,使用黑色。 – 2009-07-06 11:59:51

+0

感謝您的提示,夥計們。 不過,我認爲蘋果並沒有將這個功能放入可可SDK中很奇怪。 – Martin 2009-07-06 12:15:27