2016-10-07 45 views
0

當用戶點擊textfield,那麼有什麼辦法可以打開新的viewController。例如,textFieldCountryCode已經設定了值。現在用戶嘗試在當時更改文本新的view應該是打開的,並且在選擇應該關閉的選項view並且控制回到之前的viewController並且選擇的值應該被設置在textFieldCountryCode的內部。我可以通過textField didBeginEditing方法導航到其他視圖嗎?

+0

試文本字段值改變操作方法,你的問題解決 –

+0

@IBAction FUNC Textchanges(發件人:AnyObject){ 如果txttext.text .characters.count> 0 {// 改變你的視頻寫入代碼。 } } –

+1

您可以在下拉菜單中設置下拉菜單或pickerView功能。 – vaibhav

回答

1

在這種功能中,您應該使用pickerview來選擇值而不是新的viewcontroller

您可以將pickerview設置爲textfieldinputview

然後也,如果你想使用獨立的ViewController然後textFieldDidBeginEditing方法,你可以present該視圖控制器,你可以使用delegate and protocol設置是從視圖 - 控制choosen文本框的值!

0

您可以使用委託使用傳遞數據,而從CountryViecController中選擇國家。

試試這個代碼片段

-(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

是的,你可以通過使用textFieldDidBeginEditing方法推到nextViewController看到下面的代碼:

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

這種功能可以通過兩種方式來完成:

第一個:通過pickerview

您需要添加your_textfield.inputView = your_pickerview; 並且您可以通過pickerview的委託方法處理它。

:通過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

添加文本框,並使用下面的代碼:

-(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]; 

} 

這段代碼,如果文本框已經打動你到你的第二個查看包含文字。

在你的第二個觀點,你可以定義一個按鈕,這樣和它的操作設置爲一個函數如下返回到以前的ViewController

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

我希望這可以幫助你。

+0

你如何設想移動另一個與類對象'obj'的vc? – vaibhav

+0

那麼secondScreen.h是secondViewController的頭文件,obj只是它的一個實例,用於推送到另一個secondScreenViewController,在這種情況下,我不使用Xib和故事板 –

+0

好吧然後如果你不使用創建VC故事板的xib? – vaibhav

相關問題