我有一个 splitViewController,它有一个主视图控制器和一个详细视图控制器。下面的代码来自主人,它在细节中创建了新的视图:
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:[NSString stringWithFormat:@"%@",[self.defaultSettingsMenuItems objectAtIndex:indexPath.row]]];
[self.detailViewController.view addSubview:controller.view];
detailViewController 是 DetailViewController 的全局实例。在 detailViewController 中,我有很多 textField,需要使用 UITextFieldDelegate。但是,我认为此时 detailViewController 不是 self,这就是为什么在 detailViewController 中使用 TextFieldDelegate 方法时出现 EXC_BAD_ACCESS 错误的原因。
编辑:我现在发现 subView 委托方法仅适用于我在 Storyboard 中设置为 rootViewCONtroller 关系的 viewController。前任。如果我在上面的默认菜单设置中有 6 个视图,那么无论我在情节提要中设置为第一个视图还是根视图,都将正常工作。显示的任何和所有其他子视图(通过在主视图中进行新选择)将无法正常工作。我认为这将有助于诊断问题。