0

2 つのテキストフィールドを持つログイン システムを作成したいと考えています。ユーザーが最初のテキストフィールドを編集し、キーボードの次をクリックして次のテキストフィールドにジャンプし、編集後にクリックして移動する必要があり、システムがそれを行う必要があります。だから私が本当に欲しいのは、あるテキストフィールドから次のテキストフィールドにジャンプできるようにすることであり、最も重要な部分は、ユーザーが移動ボタンをクリックしたときに両方のフィールドから入力テキストを取得することです (魔女は 2 番目のフィールドのキーボードにあります)。両方のテキスト フィールドが IB でタグ付けされています。よくわからない場合は、Podio のアプリ ログインに非常によく似たものを実装したいと思います。これは私がこれまでに持っているものです。どんな助けでも大歓迎です:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    AppSettings *settings = [AppSettings sharedSettings];
    NSString *password;
    NSString *name;

    if(textField == nameTextField)
    {
        name = textField.text;
        NSLog(@"Name text field: %@",name);
    }
    if(textField == passwordTextField)
    {
        password = textField.text;
        NSLog(@"Password text field: %@",password);        
    }

    //this is where I send a call to the server
    [[SessionInfo sharedInfo] loginWithEmail:settings.userEmailFromLogin 
                                     AndName:name AndPasswordRequest:password];

    [textField resignFirstResponder];
    return YES;
}
4

2 に答える 2

0

@yibuyiquそれは私にとっては本当にうまくいきませんでした。しかし、複数のテキストフィールドからデータを取得する方法の問題を解決しました。入力からの文字列を次のような辞書オブジェクトに格納する必要があります。

- (void)textFieldDidEndEditing:(UITextField *)textField 
{
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    AppSettings *settings = [AppSettings sharedSettings];
    NSString *password;
    NSString *name;

    if ([textField.text isEqualToString:@""])
        return;

    switch (textField.tag) {
        case NameFieldTag:
            name = textField.text;
            [userDefaults setObject:name forKey:kloginName];
            settings.userNameFromLogin = [userDefaults objectForKey:kloginName];
            break;

        case PasswordFieldTag:
            password = textField.text;
            [userDefaults setObject:password forKey:klogginPassword];
            settings.userPasswordFromLogin = [userDefaults objectForKey:klogginPassword];
            break;
        default:
            break;
    }
}

この後、私はここに誰かが投稿したソリューションを使用して、キーボードからテキストフィールドを調べましたhttps://stackoverflow.com/a/1351090/1339876

于 2012-04-19T12:37:11.703 に答える
0
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    AppSettings *settings = [AppSettings sharedSettings];
    NSString *password;
    NSString *name;

    if(textField == nameTextField)
    {
        name = textField.text;
        [passwordTextField becomeFirstResponder];
        NSLog(@"Name text field: %@",name);
    }
    if(textField == passwordTextField)
    {
        password = textField.text;
        [textField resignFirstResponder];
        NSLog(@"Password text field: %@",password); 
        //this is where I send a call to the server
        [[SessionInfo sharedInfo] loginWithEmail:settings.userEmailFromLogin 
                                         AndName:name AndPasswordRequest:password];  
    }
    return YES;
}
于 2012-04-18T00:03:09.953 に答える