文档章节

UI21导航控制器

JunnarWu
 JunnarWu
发布于 2017/01/25 16:15
字数 405
阅读 5
收藏 0

代码列表

效果图:

AppDelegate.m

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

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

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

    RootViewController *root = [[RootViewController alloc] init];

    //创建导航器

    UINavigationController * nac = [[UINavigationController alloc] initWithRootViewController:root];

    self.window.rootViewController=nac;

    //导航器颜色

    nac.navigationBar.backgroundColor = [UIColor yellowColor];

    //半透明

    nac.navigationBar.translucent = NO;

    

    

    return YES;

}

 

 

RootViewController.m

#import "RootViewController.h"

#import "SecondViewController.h"

 

@interface RootViewController ()<chuanZhiDalegate>

{

    UITextField *tf;

}

@end

@implementation RootViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];

    view.backgroundColor = [UIColor redColor];

    [self.view addSubview:view];

    

    //把控制导航栏内容的代码写到对应的页面中来

    self.navigationItem.title = @"首页";

//    self.navigationItem.titleView =

    

    //左右侧的按钮

//    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"右侧" style:UIBarButtonItemStylePlain target:self action:@selector(touchRight)];

    //图片右侧按钮

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"settings" ]  style:UIBarButtonItemStylePlain target:self action:@selector(touchRight)];

    //属性传值代理传值

    // 第一个页面中的输出框

    tf = [[UITextField alloc] initWithFrame:CGRectMake(0, 150, 150, 40)];

    tf.backgroundColor = [UIColor redColor];

    [self.view addSubview:tf];    

}

-(void) touchRight {

    NSLog(@"点了右侧");

    SecondViewController * secondVC= [[SecondViewController alloc] init];

    //跳转到第二页面

    [self.navigationController pushViewController:secondVC animated:YES];

    

    //传值

    secondVC.inputValue = tf.text;

    secondVC.delegate = self;

}

//代理传回的值

- (void)chuanZhi:(NSString *)str {

    NSLog(@"代理传回的值:%@",str);

}

 

SecondViewController.m

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

     self.view.backgroundColor = [UIColor yellowColor]; 

    //第二个页面左上角的返回按钮

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back"] style:UIBarButtonItemStylePlain target:self action:@selector(touchLeftBack)]; 

    //第二个页面中的Label

    UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 150, 40)]; 

    label.text = self.inputValue;

    label.enabled = YES;

    [self.view addSubview:label]; 

    // 代理传值 

}

 

-(void) touchLeftBack {

    NSLog(@"左侧返回按钮");

    //返回时触发代理方法 将值传递回去

    [self.delegate chuanZhi:@"这个是返回的值"];

    

    // 返回上级视图

    [self.navigationController popToRootViewControllerAnimated:YES];

    // 返回到根视图

    //[self.navigationController popToRootViewControllerAnimated:YES];

    //指定到某个页面 少用到

    //    [self.navigationController popToViewController:<#(nonnull UIViewController *)#> animated:<#(BOOL)#>

}

 

 

© 著作权归作者所有

下一篇: UI13小球拖拽
JunnarWu
粉丝 0
博文 11
码字总数 2960
作品 0
深圳
程序员
私信 提问
IOS开发之导航控制器原理

#import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" #import "ThirdViewController.h" #import "ForthViewController.h" @interface AppDelegate (......

鹿微微鹿
2016/04/17
25
0
ios开发之导航控制器的原理

#import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" #import "ThirdViewController.h" #import "ForthViewController.h" @interface AppDelegate (......

鹿微微鹿
2016/04/14
108
0
IOS博客项目搭建-02-自定义底部导航控制器UITabBarController

(一)、创建自定义导航控制类 ①.底部导航栏示例 ②、创建自定义导航控制器类,继承父类UITabBarController 在程序启动文件中,用自定义的IWTabcontroller 替换原来默认的TabController 初始...

Corwien
2016/01/21
257
0
iOS-自定义导航栏

前言 苹果自IOS7之后,navigationBar增加了barTintColor属性,使得我们更加方便的设置导航栏的背景色,但是导航栏是一个比较复杂的系统控件,朋友们经常遇到设置透明不成功的问题,由于UINav...

麦兜卖鱼丸
2016/01/16
161
0
push 和pop的区别

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面。在最上面的那个视图控制器的视图就是这个...

卡奇匠
2016/05/30
466
0

没有更多内容

加载失败,请刷新页面

加载更多

让《强化学习(第2版)》架起一座通往强化学习经典知识宝库的桥梁

上交大计算科学与工程系俞凯教授,5分钟口述讲解,带你快速认识了解年度重磅图书《强化学习(第二版)》! 在 AlphaGo战胜李世石之后,AlphaZero以其完全凭借自我学习超越人类在各种棋类游戏...

博文视点Bv
31分钟前
6
0
TLA7-EVM开发板的处理器、NOR FLASH、DDR3

TLA7-EVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm*50mm,底板采用沉金无铅工艺的6层板设计,专业的PCB...

Tronlong创龙
40分钟前
4
0
UUID的变种-有序

为了解决UUID无序的问题,NHibernate在其主键生成方式中提供了Comb算法(combined guid/timestamp)。保留GUID的10个字节,用另6个字节表示GUID生成的时间(DateTime)。 /// <summary> //...

Canaan_
41分钟前
5
0
Netty学习(6)——通道间数据传输

1. FileChannel实现通道间的数据传输 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel传输到另外一个channel。 transferFrom() FileChannel的transferF...

江左煤郎
44分钟前
4
0
AngularDOM操作

gtandsn
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部