导航控制器--NavgationController

//此方法只会调用一次,设置UIBarButtonItem样式
+(void)initialize
{
    //通过appearance对象能修改整个项目中所有UIBarButtonItem的样式
    UIBarButtonItem *appearance = [UIBarButtonItem appearance];

    //1.普通状态
    NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];
    textAttrs[UITextAttributeTextColor] = [UIColor orangeColor];
    textAttrs[UITextAttributeFont] = [UIFont systemFontOfSize:15];
    [appearance setTitleTextAttributes:textAttrs forState:UIControlStateNormal];

    //2.高亮状态
    NSMutableDictionary *highAttrs = [NSMutableDictionary dictionary];
    highAttrs[UITextAttributeTextColor] = [UIColor redColor];
    highAttrs[UITextAttributeFont] = [UIFont systemFontOfSize:15];
    [appearance setTitleTextAttributes:highAttrs forState:UIControlStateHighlighted];

    //3.不可点击状态
    NSMutableDictionary *disAttrs = [NSMutableDictionary dictionary];
    disAttrs[UITextAttributeTextColor] = [UIColor lightGrayColor];
    disAttrs[UITextAttributeFont] = [UIFont systemFontOfSize:15];
    [appearance setTitleTextAttributes:disAttrs forState:UIControlStateDisabled];

}

//页面跳转会调用这个方法
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    //self.viewControllers.count  控制器栈中控制器数量
    if (self.viewControllers.count > 0) {
        //隐藏标签栏
        viewController.hidesBottomBarWhenPushed = YES;
        // 全局设置导航栏按钮
        viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithImageName:@"navigationbar_back" highImageName:@"navigationbar_back_highlighted" target:self action:@selector(back)];
        viewController.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithImageName:@"navigationbar_more" highImageName:@"navigationbar_more_highlighted" target:self action:@selector(more)];

    }
    [super pushViewController:viewController animated:animated];
}
时间: 2024-11-04 16:24:15

导航控制器--NavgationController的相关文章

猫猫学iOS 之微博项目实战(2)微博主框架-自己定义导航控制器NavigationController

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一:加入导航控制器 上一篇博客完毕了对底部的TabBar的设置,这一章我们完毕自己定义导航控制器(NYNavigationController). 为啥要做自己定义呢.由于为了更好地封装代码,而且系统的UINavigationController不能满足我们的需求了,所以得自己定义. 首先,我们在NYTabBarViewCon

iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期

一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在storyboard中,默认的控制器是View Controller,而我们需要的是导航控制器,那么就把系统的给删掉,拖一个导航控制器进来,导航控制器中默认的第一个子控制器是一个tableview controller,这里不需要,把它删掉,重新拖三个View Controller到界面上进行连线,简单的设置就可以了.           按钮连线,按住ctrl,右边界面选择push

UINavigationController导航控制器

UINavigationController导航控制器,是多个界面间跳转的重要元素,可以理解为它存储着多个viewController,它的存储结构是栈,栈的特点是先进后出,所以添加视图控制器时,要特别注意. UINavigationController有几个常用的方法: 1:[UINavigationController initWithRootViewController:viewController ] 是指将哪一个视图控制器设置为导航控制器的根视图控制器,即运行是第一次看到的界面. 2:

2016 -1 -3 导航控制器的学习

1.效果如下: 2.UINavigationController,导航控制器也是UIViewController的子类 (1)在Appdelegate.h中 设置UIWindow及其根控制器为导航控制器,代码如下: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customiza

导航控制器的知识总结

1.导航控制器的功能和介绍 [注]导航控制器,是UIKit框架提供的一个容器视图控制器,用于切换拥有明确层次关系的视图.即由一级视图切换到二级视图,而不是平级视图间的切换. [注]导航中视图控制器的层次结构,称为栈结构. 2.如何使用导航控制器实现界面之间的跳转 <1>显示一个界面,显示导航条 //使用导航控制器 //1.创建导航控制器,rvc放到导航控制器中 //2.导航控制器作为window根视图控制器 //导航条大小: 320X44 RootViewController *rvc = [

去除警告,打电话,发信息,应用程序之间跳转,打印沙盒路径,字符串名字转换方法,包装导航控制器等的代码

从偏好设置中读取值: 打电话代码: 发信息代码: 打印沙盒路径代码: 应用程序之间跳转代码: 跳转到苹果商店代码: 去除警告代码: 根据字符串名称转换成相对应方法的代码: #import "SZMSettingsCell.h" @implementation SZMSettingsCell //选择不同的cell类型 + (UITableViewCellStyle)cellStyleWithDict:(NSDictionary *)dict{ UITableViewCellStyle

iOS开发——实用技术OC篇&amp;8行代码教你搞定导航控制器全屏滑动返回效果

8行代码教你搞定导航控制器全屏滑动返回效果 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定. 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们的iOS培训课程.陆续还会有更新ing.... 一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能. 系统自带的侧滑效果: 分析: 1.导航控制器的view

IOS开发——UI进阶篇(十)导航控制器、plist存储、微博详情页

一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // 创建导航控制器 // 导航控制器必须要有一个根控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; // 会调用push方法 // initWithRoot

UINavigationController 导航控制器

初始方法: - (id)initWithRootViewControl:(UIViewController *)rootViewController //初始化时,传递一个视图控制器的参数,作为导航控制器的根视图控制器,导航控制器实例加载完成后,根视图控制器的视图会被添加到导航控制器中 入栈操作: //从导航控制器某一个视图里面把另一个视图Push进导航控制器栈中. [self.navigationController pushViewController:(UIViewController *