2010-07-27 63 views
1

在我的應用程序,我強制顯示/隱藏鍵盤通過使textview成爲第一響應者和resignfirstresponder,並設置textview可編輯YES和NO分別。textview沒有響應代表iphone

但隱藏鍵盤後,如果我點擊textview鍵盤不顯示。我將textview委託設置爲self。而代表方法是第一次啓動,但沒有之後。

編輯:我使用下面的代碼,我寫了一個自定義按鈕,水龍頭,檢查標誌檢查鍵盤處於隱藏狀態或以其他方式:

switch(rotationFlag) 
{ 
    case 0: 
    { 
     [self hideKeyboard]; 
     rotationFlag = 1; 
     break; 
    } 

    case 1: 
    { 
     [self showKeyboard]; 
     rotationFlag = 0; 
     break; 
    } 
} 

-(void)hideKeyboard{ 
[txtVwForPosts setEditable:FALSE]; 
[txtVwForPosts resignFirstResponder]; 
} 

-(void)showKeyboard{ 
[txtVwForPosts setEditable:TRUE]; 
[txtVwForPosts becomeFirstResponder]; 
} 

它是什麼,我做錯了?

任何人都可以請幫忙嗎? Thanx提前。

+0

你能發表一些代碼嗎? – lukya 2010-07-27 07:45:49

+0

我不知道你是否沒有發佈任何代碼 – vodkhang 2010-07-27 07:47:23

+0

請檢查我編輯的問題.. – neha 2010-07-27 08:57:58

回答

0
switch(rotationFlag) 
{ 
    case 0: 
    { 
     [self hideKeyboard]; 
     rotationFlag = 1; 
     break; 
    } 

    case 1: 
    { 
     [self showKeyboard]; 
     rotationFlag = 0; 
     break; 
    } 
} 

-(void)hideKeyboard 
{ 
    [txtVwForPosts resignFirstResponder]; 
} 

-(void)showKeyboard 
{ 
    [txtVwForPosts becomeFirstResponder]; 
} 
+0

不能正常工作..在調用hideKeyboard方法後,沒有檢測到textView tap ..只調用了自定義按鈕上的showKeyboard方法。 – neha 2010-07-27 10:20:54

+0

我使用UITextViewTextDidBeginEditingNotification,當我點擊textview時也不會發送textViewShouldBeginEditing:委託方法沒有被調用.. – neha 2010-07-27 10:24:42

+0

哦!哪些是您使用的所有代表? – Manjunath 2010-07-27 10:52:23

0

我不知道什麼是錯與您的代碼,但下面是我寫了同樣的目的代碼:

-(IBAction)hideShowKeyboard:(id)sender 
{ 
    if([tv isFirstResponder]) 
    { 
     [tv resignFirstResponder]; 
    } 
    else 
    { 
     [tv becomeFirstResponder]; 
    } 
} 

,這是該按鈕的動作。而電視是TextView插座。但是在隱藏鍵盤後,這個視圖並沒有檢測到文本視圖。如果您想檢測水龍頭,請避免將可編輯屬性設置爲NO。

+0

將setEditable屬性設置爲NO不起作用。鍵盤在隱藏時不會顯示在textview上。 – neha 2010-07-27 12:40:23

+0

不要將可編輯設置爲NO(我寫道,避免在答案中將其設置爲NO)。如果[tv setEditable:NO];以上代碼檢測到水龍頭;被註釋掉了。 – lukya 2010-07-27 18:43:41

+0

是的..我的意思是同樣的事情,對不好的寫作感到抱歉..但是評論這個文本不工作.. – neha 2010-07-27 20:24:36