在Xcode 5.0.2中,我为iPhone创建了一个带有导航控制器的应用程序和另外3个视图控制器(这里是全屏):
我想LoginViewController(上面的截图中带有"Login"标题)是导航控制器的委托,所以它的方法
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
被调用 - 所以我在其中添加了以下代码viewDidLoad
:
UINavigationController *nc = self.navigationController; [nc setDelegate:self];
这有效,但我想知道在Interface Builder中是否也可以设置导航控制器的委托?
我尝试从导航控制器的黄色立方体标志中拖动到LoginViewController场景,反之亦然 - 但我只提供了一个弹出窗口来创建一个segue ...
至少在Xcode 6中,可以在Interface Builder中完成.
有一个确认的课程 UINavigationControllerDelegate
在Interface Builder中,从对象库中拖拽对象到您的导航控制器(或者到文档大纲或导航控制器在故事板上面的工具栏)
在Identity检查器中将Object的类设置为您的UINavigationControllerDelegate
类
按住Ctrl键并从导航控制器对象拖动到您的委托对象
从弹出菜单中选择"委托"
就这样.现在您的对象将是导航控制器的委托.