0

我一直在努力解决这个问题好几天。在我的应用程序中,我在内部具有带UINavigationViewControllers的标签栏控制器。我希望每个导航控制器中的每个导航栏看起来都完全相同,具体取决于用户操作和应用程序状态。 例如:如果用户在第一个视图控制器中登录到我的应用程序,则应用程序会在导航栏中设置其名称并将导航栏设置为登录状态。然后,当用户选择其他选项卡项目时,我想将此导航栏的此登录状态从第一个视图控制器设置为其他视图控制器。我试过使用单例,但没有效果。每个标签中的导航栏的一个实例

回答

0

好像你必须做两件事情:

  1. 将当前设置,同时初始化的UIViewController
  2. 更新状态后,所有启动控制器改变

以1: 创建一个类与

@interface UIViewController (UINavigationController) 

- (UINavigationController*)wrapWithNavigationController; 

@end 

@implementation UIViewController (UINavigationController) 

- (UINavigationController*)wrapWithNavigationController 
{ 
    UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:self]; 

    // your customizations 
    navigationController.navigationBar.barStyle = UIBarStyleBlack; 
    [...] 

    return [navigationController autorelease]; 
} 

@end 

你可以ca例如,它可以是UIViewControllerAdditions

以2:

使用NSNotificationCenter更新:)

0

你真的有多个UINavigationControllers,或者你只是想用navigationBar在每个标签相同的作用和功能?

如果你只是想有吧,你也可以使用一个UINavigationController将您的应用rootViewController然后UITabBarController为您UINavigationControllerchildViewController

相关问题