代码搭建记事本框架(二)

主题设定,初始化的代码,通过执行这些代码来设置对应的navigation和barbutton的属性

/**
 *  只执行一次的代码
 */
+(void)initialize
{
    //设置nav对应的属性.
    [self setNavigationBarTheme];
    //设置barbutton对应的属性.
    [self setBarButtonTheme ];
}

对应属性的设定

+(void)setBarButtonTheme
{
    //
    UIBarButtonItem *appearence = [UIBarButtonItem appearance];

    NSMutableDictionary *textAttrs =[[NSMutableDictionary alloc]init];
    textAttrs[NSForegroundColorAttributeName] = [UIColor orangeColor];
    textAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:15];
    [appearence setTitleTextAttributes:textAttrs forState:UIControlStateNormal];

    NSMutableDictionary *highTextAttrs =[[NSMutableDictionary alloc]init];
    highTextAttrs[NSForegroundColorAttributeName] = [UIColor redColor];
    highTextAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:15];
    [appearence setTitleTextAttributes:highTextAttrs forState:UIControlStateHighlighted];

    NSMutableDictionary *disableTextAttrs =[[NSMutableDictionary alloc]init];
    disableTextAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];
    disableTextAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:15];
    [appearence setTitleTextAttributes:disableTextAttrs forState:UIControlStateDisabled];

    //为了让按钮的背景消失,可以设置一张完全透明的背景图片
    [appearence setBackgroundImage:[UIImage imageNamed:@"navigationbar_button_background"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
}
+(void)setNavigationBarTheme
{
    UINavigationBar *appearence  = [UINavigationBar appearance];

    NSMutableDictionary *textAttrs= [NSMutableDictionary dictionary];
    textAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:20];
    textAttrs[NSForegroundColorAttributeName] = [UIColor blackColor];
    [appearence setTitleTextAttributes:textAttrs];
}

定义为类方法,容易调用。

最重要的方法还是重载的push方法

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    if (self.viewControllers.count>0) {   //如果push进来的不是栈底控制器的话
        viewController.hidesBottomBarWhenPushed = YES;
        viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithImage:@"navigationbar_back" highImage:@"navigationbar_back_highlighted" target:self action:@selector(back)];
        viewController.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithImage:@"navigationbar_more" highImage:@"navigationbar_more_highlighted" target:self action:@selector(more)];
    }
    [super pushViewController:viewController animated:YES];
}

push中的来设定对应的属性,包括对应的背景和高亮背景点击时间对应的响应函数。

设定对应的按钮点击的响应内容。

-(void)more{    [self popToRootViewControllerAnimated:YES];}-(void)back{    [self popViewControllerAnimated:YES];}
时间: 2024-10-29 19:06:41

代码搭建记事本框架(二)的相关文章

代码搭建记事本框架(一)

纠结数天,终于下定决心开始搭建属于自己的记事本. 写在最前面:这两天是有些彷徨,加上重感冒,难受的要死.思路有些混乱,界面想了一下大概,就胡乱的开始了.但是总算是迈出了第一步. 将rootviewcontroller设置为tabbar application.statusBarHidden = YES; self.window = [[UIWindow alloc]init]; self.window.frame = [[UIScreen mainScreen]bounds]; self.win

STS搭建springMVC框架(二)

二.安装过程 1.JDK  安装JDK: 双击  jdk-8u171-windows-x64.exe 文件,即可开始安装.可以采用默认配置的方式,连续点击下一步直至安装完成. 也可以手动指定安装目录,例如我自己将JDK安装在  D:\Java\jdk1.8.0_171,JRE安装在D:\Java\jre1.8.0_171. 配置环境变量:    ⑴  右键点击计算机图标,接着点击菜单最下方的属性菜单项,或者连续打开控制面板--系统和安全--系统也可以    ⑵  点击高级系统设置--高级--系统

纯代码搭建项目框架

一.修改项目的启动过程 将Main Interface处的main删除 在application:didFinishLaunchingWithOptions:launchOptions:方法中创建window,并且设置根控制器 // 设置整体主题TabBar的tintColor UITabBar.appearance().tintColor = UIColor.orangeColor() // 1.创建window self.window = UIWindow(frame: UIScreen.m

《用Python写网络爬虫》示例网站搭建(框架+本书pdf+章节代码)

所用到的代码及工具 示例网站源码+框架+本书pdf+章节代码 链接: https://pan.baidu.com/s/1miHjIYk 密码: af35 环境 python2.7 win7x64 示例网站搭建 wswp-places.zip 书中站点源码web2py_src.zip 站点所使用的框架 1 解压web2py_src.zip2 然后到web2py/applications目录下 3 将wswp-places.zip解压到applications目录下 4 返回上一层目录,到web2p

搭建App主流框架_纯代码搭建(OC)

转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部分图标及效果图来自[IT江湖] https://github.com/itjhDev/itjh 导读 我们玩iPhone应用的时候,有没发现大部分的应用都是上图差不多的结构,下面的TabBar控制器可以切换子控制器,上面又有Navigation导航条 我们本文主要是讨论主体框架的搭建,数据暂时没有添

十分钟搭建App主流框架_纯代码搭建(OC),你不知道的框架

十分钟搭建App主流框架_纯代码搭建(OC),你不知道的框架java学习爱好者 2019-06-11 14:28搭建主流框架界面 需要源码的可以私信我达成效果 效果图ps :需要源码的可以加群,668041364导读 我们玩iPhone应用的时候,有没发现大部分的应用都是上图差不多的结构,下面的TabBar控制器可以切换子控制器,上面又有Navigation导航条我们本文主要是讨论主体框架的搭建,数据暂时没有添加分析做项目的基本流程 1.搭建项目主框架(1)先搭建tabBarController

Maven项目搭建(二):Maven搭建SSM框架

        上一章给大家讲解了如何使用Maven搭建web项目.       这次给大家介绍一下怎么使用Maven搭建SSM框架项目.       首先我们来看一下pom.xml的属性介绍: project: pom的xml根元素. parent:  声明继承. modules:  声明聚合,该值是一个当前POM的相对目录.用户项目的聚合. groupId:  定义当前Maven项目隶属的实际项目. artifactId:  定义实际项目中的一个Maven项目模块,一般为实际项目名称. ve

企业级应用框架(二)三层架构之数据访问层的封装与抽象

接上一篇我们来对数据访问层进行封装与抽象.在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供相应的支持.所以今天我们要做的事情有两件,第一,定义我们的数据访问层接口:第二,屏蔽各类数据库访问技术的差异,提供统一的数据库访问模型.举个例子,我们只需要修改一下我们的配置文件,就能够把ADO.NET的实现方式,改变成EF的实现方式.好下面搭建我们的三层构

使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架

教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入Js文件,就可以开发了,运行效率非常高效,语法是仿AS3语法,懂C#的人上手会很快. Lufylegend引擎具体的API和使用方法可以参考官网和论坛: http://www.lufylegend.com/api/zh_CN/out/classes/FPS.html 之前微信上有一款"怪兽必须死&q