【发布时间】:2016-03-10 07:48:59
【问题描述】:
我有 2 个视图控制器。
如果点击第一个视图控制器的文本字段,它会将用户带到第二个视图控制器。
第二个视图控制器有表格视图,当做出选择时,它会使用 unwind segue 将用户带回第一个视图控制器。
第一个视图控制器
- (IBAction)unwindFromModalViewController:(UIStoryboardSegue *)segue
{
if ([segue.sourceViewController isKindOfClass:[SecondViewController class]])
{
SecondViewController *secondVC = segue.sourceViewController;
if (secondVC.selectedData)
{
self.textField.text = secondVC.selectedData;
}
}
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (textField == self.textField)
{
SecondViewController *secondVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
return YES;
}
return NO;
}
第二个视图控制器
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *selectedRow = [self.json objectAtIndex:indexPath.row];
self.selectedData = [selectedRow objectForKey:@"data"];
[self performSegueWithIdentifier:@"tofirstVC" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.destinationViewController isKindOfClass:[FirstViewController class]])
{
FirstViewController *firstVC = segue.destinationViewController;
if (self.selectedData)
{
firstVC.textField.text = self.selectedData;
}
}
}
用户回到第一个视图控制器后,调用 textFieldShouldBeginEditing 并将用户带回第二个视图控制器。
是什么原因造成的,我该如何解决这个问题?
谢谢。
【问题讨论】:
-
我尝试了 resignFirstResponder,但仍然无法正常工作。我也试过 endEditing 但没有运气:(
-
我正在尝试将用户导航到具有表格视图的第二个视图,当进行选择时,用户返回到第一个视图并将文本字段的文本设置为选择
-
刚发现添加
self.textField.enabled = NO可以解决问题,但无法单击文本字段调用第二个视图控制器 -
我已经做到了,但没有运气
-
在 textFieldShouldBeginEditing 中你尝试过 resignFirstResponder 吗?
标签: ios objective-c uitextfield unwind-segue