iOS Navigation 使用的一些总结

1.先说添加吧

  AppDelegate.h

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    // 修改导航颜色
    [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:100 green:80 blue:50 alpha:1]];

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    ViewController *vc = [[ViewController alloc] init];
    self.window.rootViewController = vc;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

2.自定义导航栏

系统自带的方法
//左边按钮
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(selectLeftAction:)];
    self.navigationItem.leftBarButtonItem = leftButton;

    //右边按钮
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(selectRightAction2:)];
    self.navigationItem.rightBarButtonItem = rightButton;

自定义按钮图案

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[self scaleToSize:[UIImage imageNamed:@"myselect.png"] size:CGSizeMake(20, 20)] style:UIBarButtonItemStylePlain target:self action:@selector(Actionright:)];

//设置图片大小
- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{
    // 创建一个bitmap的context
    // 并把它设置成为当前正在使用的context
    UIGraphicsBeginImageContext(size);
    // 绘制改变大小的图片
    [img drawInRect:CGRectMake(0, 0, size.width, size.height)];
    // 从当前context中创建一个改变大小后的图片
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    // 返回新的改变大小后的图片
    return scaledImage;
}

设置push返回按钮的样式

 //push返回按钮样式
    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
    self.navigationItem.backBarButtonItem = item;
    //self.navigationController.navigationBar.tintColor = [UIColor grayColor];

自定义标题与导航栏的样式

//修改导航栏标题字体大小和颜色,背景颜色
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
    [self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:212/255.0 green:51/255.0 blue:36/255.0 alpha:1]];

    [self.navigationController.navigationBar setTitleTextAttributes:@{
                                                                      NSFontAttributeName:[UIFont systemFontOfSize:17],
                                                                      NSForegroundColorAttributeName:[UIColor whiteColor]

                                                                      }];

这是改变最上边电量图标,时间等颜色

3.关于跳转的一些总结:

(1).push跳转到下一页,会带着自己导航栏一起跳,这里说的导航栏说的是他自定义的导航栏的属性

NextViewController *next =[[NextViewController alloc]init];
    [self.navigationController pushViewController:next animated:NO];

(2).push跳转到下一页,下一页隐藏导航栏

//隐藏导航栏
-(void)viewWillAppear:(BOOL)animated{
    self.navigationController.navigationBarHidden = YES;
}

(3).pop到前面的任何一页面

//返回视图根控制器
    [self.navigationController popToRootViewControllerAnimated:YES];

//pop到指定页面
//    for (UIViewController *controller in self.navigationController.viewControllers) {
//        if ([controller isKindOfClass:[NextViewController class]]) {
//            NextViewController *A =(NextViewController *)controller;
//            [self.navigationController popToViewController:A animated:YES];
//        }
//    }

//其中的NextViewController为想要跳转到的view

(4).present不带导航栏的跳转

HomeViewController *home = [[HomeViewController alloc]init];

    [self presentViewController:home animated:YES completion:^{

        NSLog(@"Login Success!");
    }];

如果是拖页面的话

HomeViewController *home = [self.storyboard instantiateViewControllerWithIdentifier:@"home"];
    home.sessionID = self.sessionID;
    [self presentViewController:home animated:YES completion:^{

        NSLog(@"Login Success!");
    }];
时间: 2024-10-08 06:57:42

iOS Navigation 使用的一些总结的相关文章

iOS Navigation自定义设置Item

1. 自定义NavigationController: @interface CustomNavigationController : UINavigationController 2. 重写Push方法, 拦截Push进来的控制器: - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { // 判断Push进来的控制器是否根控制器 if (self.childViewCont

IOS 开发的官方文档链接

下面这些文章都是苹果官方的开发文档,非常有用: iOS Developer Library https://developer.apple.com/library/ios/navigation/ 总入口,这个毋需多言了 UIKit Framework Reference https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKit_Framework/index.html#//apple_ref/doc/u

IOS游戏开发相关网站

首先记录并分享下我收集到的几个自学时最常用到的一些网站链接. 直接进入正题: 1-Stack Overflow http://stackoverflow.com/ 这个是国外类似于百度知道的网站,但是专注于回答程序开发相关问题,我有非常多的问题都是通过在这里查询解决的,这是我们百度知道所不知道的事情. 2-iOS Developer Library http://developer.apple.com/library/ios/navigation/#section=Resource%20Type

一些常用的IOS开发网站

开发教程: 即便过了入门阶段,还是要经常看看一些不错的实例教程.1.http://mobile.tutsplus.com/category/tutorials/iphone/ 比较新的一个网站,以前没注意到.其中有一篇文章着重推荐,学习iOS游戏开发可以参考的10个实例(源代码都在github上):http://mobile.tutsplus.com/tutorials/iphone/learn-ios-game-development-by-example-10-projects-to-get

iOS开发入门

本文记录自己如何从无到有学习iOS开发.本人背景如下:iOS零基础,学过C++. 1. kidscoding教程 该教程编写环境为:Xcode5+iOS7,虽然有些过时,但是讲解详细,非常适合入门. 本人环境为Xcode7+iOS9,在学习教程第二部分第24章时,遇到了一个问题:iOS navigation has no navigation item.

ios学习常用网站

iphone开发资源汇总: http://blog.csdn.net/devday/article/details/6664970 快乐开发: http://blog.sina.com.cn/s/articlelist_2455150881_0_2.html IOS TextField用法大全: http://godloong.blog.51cto.com/8652474/1388908 IOS开发者论坛: http://www.codeios.com/ 苹果开发中文站: http://www.

ios blog

转得一个朋友的博客,大家可以看哈(主要时国外的) 主要分开发教程.示例项目.UI设计.问题解决几块. 开发教程: 即便过了入门阶段,还是要经常看看一些不错的实例教程. 1.http://mobile.tutsplus.com/category/tutorials/iphone/ 比较新的一个网站,以前没注意到. 其中有一篇文章着重推荐,学习iOS游戏开发可以参考的10个实例(源代码都在github上): http://mobile.tutsplus.com/tutorials/iphone/le

【转】iOS开发常用国外网站清单

[转自http://blog.sina.com.cn/s/blog_4b55f6860101hi53.html]author: eseedo 工欲善其事必先利其器,最近发现临时查找一些东西容易浪费时间,花了点时间整理一下常用的网站,方便以后备用. 国内的code4app,ui4app,cocoachina,oschina,csdn就不说了,基本上很好用.不过国外网站上的好东西更多,可惜找起来也更费时间,需要整理一下. 主要分开发教程.示例项目.UI设计.问题解决几块. 开发教程: 即便过了入门阶

IOS开发-经常使用站点集合

1.    https://developer.apple.com  //苹果开发人员站点 2.    https://itunesconnect.apple.com  //itunes站点 3.    http://code4app.com  //code4App代码共享站点 4.    https://github.com   //开源码库和版本号管理系统 5.    http://stackoverflow.com  //it技术论坛 国外技术分享 6.    http://b.alipa