簡體   English   中英

UITextfield成為第一響應者不起作用

[英]UITextfield become first responder not working

我在鍵盤頂部有一個工具欄,帶有上一個和下一個按鈕。 當我按下next按鈕時,下一個文本字段應成為第一響應者,但這不會發生。 這是我的代碼。

-(IBAction) nextfield {
    if([name isFirstResponder] == TRUE) {
        [name resignFirstResponder];
        [surname becomeFirstResponder];
        if(surname.editing == TRUE)
            NSLog(@"surname");
    }
    if([surname isFirstResponder] == TRUE) {
        [email becomeFirstResponder];
    }
    if([email isFirstResponder] == TRUE) {
        [password becomeFirstResponder];
    }
    if([password isFirstResponder] == TRUE) {
        [confirm becomeFirstResponder];
    }
    if([confirm isFirstResponder] == TRUE) {
        [country becomeFirstResponder];
    }
    if([country isFirstResponder] == TRUE) {
        if(country.text == @"United States") {
            [state setEnabled:TRUE];
            [state becomeFirstResponder];
        }
        else {
            [type becomeFirstResponder];
        }
    }
    if([state isFirstResponder] == TRUE) {
        [type becomeFirstResponder];
    }
    if ([type isFirstResponder] == TRUE) {
        [name becomeFirstResponder];
    }
}

我進入日志“姓”,但光標未顯示,如果我鍵入某些內容,它將不會出現在任何地方。

因此,您要檢查名稱是否是第一響應者,如果是,則將姓氏設為第一響應者。

然后檢查並檢查姓氏是否是第一響應者,如果是,則向第一響應者發送電子郵件。

然后檢查電子郵件是否是第一響應者,以及是否是第一響應者。

您的問題是,這些if語句中的每一個都是正確的,因為成為第一響應者是直接的事情。

換句話說,您應該使用else if (...)語句,而不是離散的if語句。

創建一個textfield對象數組,可以說textFieldArray。 然后在上一個和下一個按鈕選項卡上調用func

 -(void)gotoPrevTextfield

{
  for(int i=1 ;i<[textFieldArray count];i++)
{
    if([textFieldsArray [i] isFirstResponder])
    {
        [textFieldsArray[i-1] becomeFirstResponder];
        [textFieldsArray [i] resignFirstResponder];

         break;
    }
}}

    -(void)gotoNextTextfield
   {
for( int i=0 ;i<[textFieldArray count];i++)
{
    if([textFieldsArray [i] isFirstResponder])
    {
        [textFieldsArray [i+1] becomeFirstResponder];
        [textFieldsArray [i] resignFirstResponder];

        break;
    }
}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM