ios 用纯代码写程序的时候,navigationController的导航栏的设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 用纯代码写程序的时候,navigationController的导航栏的设置相关的知识,希望对你有一定的参考价值。

  我们都知道,如果用storyBoard设置导航栏很容易,点击左右item的时候,进入下一个界面,导航栏的颜色是跟上一层的是一样的,用纯代码写的时候,可以在当前控制器,和从当前控制器进入到下一个控制器都用代码实现对导航栏的控制,但是,每次都写代码设置,很麻烦,所以,可以这样:

创建一个MainTabBarController的类,在Appdelegate.m里面完成:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

    self.window.rootViewController = [[MainTabBarController alloc] init];

    [self.window makeKeyAndVisible];

    return YES;

}

然后,在MainTabBarController.m里面

- (void)viewDidLoad {

    [super viewDidLoad];

    [self setUpAllChildVc];

}

 

- (void)setUpAllChildVc

{

//有几个界面,设置几个

    MapViewController *HomeVC = [[HFMapViewController alloc] init];

    [self setUpOneChildVcWithVc:HomeVC Image:@"地图-首页" selectedImage:@"地图选中-首页" title:@"地图"];

 

    AppointmentViewController *appointmentVC = [[HFAppointmentViewController alloc] init];

    [self setUpOneChildVcWithVc:appointmentVC Image:@"预约-首页" selectedImage:@"预约选中-首页" title:@"预约"];

 }

 

- (void)setUpOneChildVcWithVc:(UIViewController *)Vc Image:(NSString *)image selectedImage:(NSString *)selectedImage title:(NSString *)title

{

    MainNavigationController *nav = [[MainNavigationController alloc] initWithRootViewController:Vc];

 

    UIImage *myImage = [UIImage imageNamed:image];

    myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

 

    //tabBarItem,是系统提供模型,专门负责tabbar上按钮的文字以及图片展示

    Vc.tabBarItem.image = myImage;

 

    UIImage *mySelectedImage = [UIImage imageNamed:selectedImage];

    mySelectedImage = [mySelectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

 

    Vc.tabBarItem.selectedImage = mySelectedImage;

 

    Vc.tabBarItem.title = title;

 

    [self addChildViewController:nav];

    

}

只要需要导航栏的,都可以把当前控制器设置为MainNavigationController的跟试图控制器

以上是关于ios 用纯代码写程序的时候,navigationController的导航栏的设置的主要内容,如果未能解决你的问题,请参考以下文章

用纯C代码编写一个简单的HTTP客户端向服务器请求数据

再见HTML ! 用纯Python就能写一个漂亮的网页

iOS小技能: 用纯代码开发界面的过程 & 图片使用的相关注意事项

用纯js就可以写一个网页!为啥还要用html和css,为啥不把html及css舍去??有这发展

在showDialog中Flutter Navigator.of(context).pop(),在ios中关闭整个应用程序

react-navigation从引导页跳转到主页,物理回退键,不能再返回到引导页,代码怎么写?