码迷,mamicode.com
首页 > 其他好文 > 详细

UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题

时间:2015-04-26 09:23:51      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:uinavigationcontroll   点击第二页按钮   传标题title到第一页成为第一页标题   

深刻理解代理模式

将第一页设为第二页的代理,通过代理完成将第二页的按钮按钮颜色改变,按钮名称传到第一页作为第一页的标题

没有tag怎么找到你创建的试图控制器

在第二页压栈的时候将当前页(即导航栏控制器UINavigationController的根视图控制器此处我将第一页设为根)设为第二页的代理,这样就指定了第二页(指定的)的代理为第一页

第一种:因为已设置第一页为第二页的代理,

 在第二页.m文件中写 First * fir =(First *) self.delegate];    

第二种:通过navigation的属性viewcontroller获取导航栏所有的控制器,返回值是一个数组,这个数组array【0】的第一个元素就是导航栏的根视图控制器,

 UIViewController *vc=self.navigationController.viewControllers[0];


#import "Second.h"

#import "HeadFile.h"

@implementation Second

{

    NSArray * _arrayForTitile ;

}


- (void)viewDidLoad{

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor greenColor];

    [self _loadData];

}


#pragma mark - _loadData

- (void)_loadData{

    // 标签文字存入数组

    _arrayForTitile = @[@"1",@"2",@"3",@"4"];

    // 创建4个按钮

    for (int i = 0; i < 4 ; i++) {

        UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];

        btn.backgroundColor = [UIColor blueColor];

        CGRect frame = CGRectMake(self.view.frame.size.width/2.0-40, self.view.frame.size.height/2.0-100 + 50*i , 80, 35);

        btn.frame = frame;

        [btn setTitle:_arrayForTitile[i] forState:UIControlStateNormal];

        [btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];

        [btn addTarget:self action:@selector(changeColorAndTitle:) forControlEvents:UIControlEventTouchUpInside];

        [self.view addSubview:btn];

        btn.tag = i +100;

    }

}


#pragma mark - changeColorAndTitle:

- (void)changeColorAndTitle:(UIButton *)btn{

    // 创建4个按钮

    btn.backgroundColor = [UIColor redColor];

    for (int i = 0 ; i < 4; i++) {

        UIButton * button = (UIButton *)[self.view viewWithTag:i+100];

        if (button.tag != btn.tag) {

            button.backgroundColor = [UIColor blueColor];

        }

    }

    // 获取代理fir

    First * fir = (First *)self.delegate;

    // 通过代理改变值 

    [fir changeTitle:btn.titleLabel.text];

    [self.navigationController popViewControllerAnimated:YES];

}


@end


#import "First.h"

#import "HeadFile.h"


@implementation First 

- (void)viewDidLoad{

    [super viewDidLoad];

// 初始化按钮

    self.view.backgroundColor = [UIColor blueColor];

    self.title = @"123124";

    UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];

    btn.backgroundColor = [UIColor brownColor];

    btn.frame = CGRectMake(0, 0, 80, 35);

    btn.center = self.view.center;

    [btn setTitle:@"下一页" forState:UIControlStateNormal];

    [btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];

    [self.view addSubview:btn];

    [btn addTarget:self action:@selector(push) forControlEvents:UIControlEventTouchUpInside];

}


#pragma mark - push

- (void)push{

    Second * sec = [[Second alloc]init];

     sec.delegate = self;

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

}



#pragma mark - changeTitle

- (void)changeTitle:(NSString *)title{

   self.title = title;

}


@end


#import "AppDelegate.h"

#import "HeadFile.h"

@interface AppDelegate ()


@end


@implementation AppDelegate



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

// 设置跟控制器,设置导航栏根控制器

    First * first = [[First alloc]init];

    UINavigationController * nv = [[UINavigationController alloc]initWithRootViewController:first];

    self.window.rootViewController = nv;

    

    

    return YES;

}




UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题
UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题
UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题
UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题
UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题






UINavigationController导航栏,点击第二页按钮,传标题title到第一页成为第一页标题

标签:uinavigationcontroll   点击第二页按钮   传标题title到第一页成为第一页标题   

原文地址:http://blog.csdn.net/zx6268476/article/details/45276383

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!