2016-10-07 5 views
0

ユーザーがtextfieldをタップすると、新しいviewControllerを開く方法があります。私は他にナビゲートできますか?テキストフィールドで表示していますか?

例えば、textFieldCountryCodeは既に値セットを持っています。ユーザーはその時点でテキストを変更しようとしました。新しいviewを開いて、viewを閉じて制御を前に戻すオプションを選択してからviewControllerを選択してtextFieldCountryCodeに設定します。

+0

トライテキストフィールドの値が変化するアクションメソッドあなたの問題は –

+0

@IBActionのFUNCのTextchanges(ANYOBJECT送信者)を解きます。 } } –

+1

この場合、ドロップダウンや「pickerView」のような機能を設定できます。 – vaibhav

答えて

1

この種の機能では、viewcontrollerの代わりにpickerviewを使用して値を選択する必要があります。

pickerviewtextfieldinputviewと設定できます。

その後も、あなたがpresentことのViewControllerとは、あなたがのViewControllerから選びだしているテキストフィールドの値を設定するためにdelegate and protocolを使用することができtextFieldDidBeginEditing方法では、その後別々のViewControllerを使用したい場合は!

0

CountryViecControllerのselect countryの間にdelegateを使用してデータを渡すことができます。

はいあなたはtextFieldDidBeginEditingメソッドを使用してnextViewControllerにプッシュすることができ、このコードスニペット

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 
    if (textField.tag == 100) { 
     ViewController *videoVC = [self.storyboard instantiateViewControllerWithIdentifier:@"videoVC"]; 
     videoVC.delegate = self; 
     [self.navigationController pushViewController:videoVC animated:YES]; 

     return NO; 
    } 
    return YES; 

} 

// delegate method for video controller, here you get selected country 
-(void)selectedString:(NSString *)selectedCountry{ 
    NSLog(@"%@",selectedCountry); 
} 
0

を試すには、コードの下に以下を参照してください。

- (void)textFieldDidBeginEditing:(UITextField *)textField{ 
    [_myTextfield resignFirstResponder]; 
    TestVc *myVc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"TestVc"]; 
    [self.navigationController pushViewController:myVc animated:YES]; 
} 
0

この種の機能は、2つのアプローチによって行うことができます。

最初:経由pickerview

your_textfield.inputView = your_pickerview; を追加する必要があります。代理人の方法pickerviewを使用して処理できます。

第二:既にテキストフィールド場合は、このコードは、2番目のビューにあなたを移動する

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    if ([textField.text isEqualToString:@""]) 
    { 
     return YES; 
    } 
    else 
    { 
     NSLog (@"Go To View Controller"); 
     [self changeView]; 
     return NO; 
    } 

} 
-(void)changeView 
{ 
    secondScreen *obj =[[secondScreen alloc]init]; 
    [self.navigationController pushViewController:obj animated:YES]; 

} 

TextField(ご推奨)

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 
    if(textField == Your_textfield) 
    { 
     Your_viewcontroller *vc= [self.storyboard instantiateViewControllerWithIdentifier:@"Your_viewcontroller_identifier"]; 
     [self.navigationController pushViewController:vc animated:YES]; 
     return NO; 
    } 
    return YES; 
} 
0

経由TextFieldを追加し、次のコードを使用しますテキストが含まれています。あなたは私はこれがあなたを役に立てば幸い、このようなボタンを定義し、以前のViewController

-(void) crossButtonPressed{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

に戻るには、以下のように関数にそのアクションを設定することができ、あなたの2番目のビューで

。 ?txttext.text .characters.count> 0 { //あなたのビデオ・ライト・コードを変更した場合{ :

+0

そのクラスオブジェクト 'obj'で別のVCを移動する方法を教えてください。 – vaibhav

+0

Well SecondScreen.hはsecondViewControllerのヘッダーファイルで、objは他のsecondScreenViewControllerにプッシュするためのインスタンスです。この場合、Xibとストーリーボードを使用していません。 –

+0

ストーリーボードのxib? – vaibhav

関連する問題