2014-06-25 14 views
3

我正在使用故事板開發一個iPad應用程序。在我的應用程序中,我有兩個文本字段和一個按鈕的彈出視圖。我需要做什麼意味着如果我單擊按鈕一個文本需要在選定的文本框中顯示。我現在如何找到哪個文本框被選中?示例代碼如下給出請幫助我完成功能。如何在iOS中找到所選文本字段

- (IBAction)buttonPressed:(id)sender { 
    if(//Here i need to set the condition for check selected text box is first){ 
     [email protected]"User"; 
     } 
     else{ 
     textbox2.text [email protected]"Admin"; 
     } 
} 
+0

如何,如果一個按鈕剛被按下選擇的文本字段? – trojanfoe

+0

@trojanfoe I爲每個文本字段創建ib操作並設置標誌。此方法是否正確?是否有任何簡短方法可用? – user3762713

+0

你的問題對你想達到的目標感到困惑。如果按下該按鈕,則(先前「選擇的」)文本字段變爲取消選擇。所以請更清楚地解釋。 – trojanfoe

回答

4
- (IBAction)buttonPressed:(id)sender { 

    if([textbox1 isFirstResponder]){ 
     //Cursor on textbox1 
     [email protected]"User"; 
    } 
    else if([textbox2 isFirstResponder]){ 
     //Cursor on textbox2 
     textbox2.text [email protected]"Admin"; 
    } 
    else{ 

     NSLog(@"None of them have cursor"); 
    } 
} 
+0

如果一個按鈕被按下,它不會*成爲第一響應者? – trojanfoe

+0

@vijay謝謝......你的回答對我有用,我標記爲正確答案。 – user3762713

+0

@ user3762713謝謝。 –

4
  1. 設置Tagtextfields

  2. 在類

  3. 使用實施UITextFieldDelegate這種方法

    - (void)textFieldDidBeginEditing:(UITextField *)textField { 
        if (textField.tag == your tag) { 
         selectedTextField = textField; //selectedTextField is an UITextfield variable 
        } 
    } 
    
  4. 用它在你IBAction

    - (IBAction)buttonPressed:(UIButton *)sender { 
        selectedTextField.text = @"abc"; 
    } 
    

//編輯:有毛病計算器的代碼功能,無法正常顯示

+0

這個答案中缺少重要細節;例如設置委託以及在委託方法中做什麼。 – trojanfoe

+0

@Pham請解釋你的答案。我如何爲字段設置文本? – user3762713

+0

重新檢查,我錯誤地點擊了帖子之前完成我的答案 –

0

如果我正確理解你的問題,我認爲下面的代碼是你想要什麼: -

- (IBAction)buttonPressed:(UIButton *)sender { 

    if(self.texbox1.isFirstResponder){ 
     [email protected]"User"; 
     [self.texbox1 resignFirstResponder]; 
    } 

    if(self.texbox2.isFirstResponder){ 
     [email protected]"Admin"; 
     [self.texbox2 resignFirstResponder]; 
    } 
} 

我不知道你爲什麼要像上面那樣實現,雖然它有點有趣。

+0

如果按下一個按鈕,它不會成爲第一響應者嗎? – trojanfoe

+0

從我的理解是,他/她想要在按下按鈕時在「選定」文本字段上顯示文本。我認爲他/她的意思是「被選中」是第一位被訪者。因此,我的答案如上。 – Ricky

0

UITextFieldUIResponder的子類,允許您執行檢查,包括isFirstResponder這可能是您正在尋找的。但是,您需要了解響應者鏈的工作原理,以及這是否是您嘗試檢測的行爲。

0

使用isFirstResponder檢查哪個文本框處於活動狀態。

- (IBAction)buttonPressed:(id)sender { 
    if([textbox1 isFirstResponder]){ 
     [email protected]"User"; 
     } 
     else if([textbox2 isFirstResponder]) { 
     textbox2.text [email protected]"Admin"; 
     } else { 
     // What should happen when neither textbox1 nor textbox2 is active? 
     } 
}