UINavigationController导航栏传值、改变颜色

来源:互联网 发布:不可使知之 编辑:程序博客网 时间:2024/05/26 05:53

深刻理解代理模式

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

没有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{

    [superviewDidLoad];

    self.view.backgroundColor = [UIColorgreenColor];

    [self_loadData];

}


#pragma mark - _loadData

- (void)_loadData{

   //标签文字存入数组

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

    // 创建4个按钮

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

        UIButton * btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

        btn.backgroundColor = [UIColorblueColor];

        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:[UIColorlightGrayColor]forState:UIControlStateHighlighted];

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

        [self.viewaddSubview:btn];

        btn.tag = i +100;

    }

}


#pragma mark - changeColorAndTitle:

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

    // 创建4个按钮

    btn.backgroundColor = [UIColorredColor];

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

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

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

            button.backgroundColor = [UIColorblueColor];

        }

    }

    // 获取代理fir

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

    // 通过代理改变值 

    [firchangeTitle:btn.titleLabel.text];

    [self.navigationControllerpopViewControllerAnimated:YES];

}


@end


#import "First.h"

#import "HeadFile.h"


@implementation First 

- (void)viewDidLoad{

    [superviewDidLoad];

// 初始化按钮

    self.view.backgroundColor = [UIColorblueColor];

   self.title =@"123124";

    UIButton * btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

    btn.backgroundColor = [UIColorbrownColor];

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

    btn.center =self.view.center;

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

    [btn setTitleColor:[UIColorlightGrayColor]forState:UIControlStateHighlighted];

    [self.viewaddSubview:btn];

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

}


#pragma mark - push

- (void)push{

   Second * sec = [[Secondalloc]init];

     sec.delegate =self;

    [self.navigationControllerpushViewController:secanimated:YES];

}



#pragma mark - changeTitle

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

   self.title = title;

}


@end


#import "AppDelegate.h"

#import "HeadFile.h"

@interfaceAppDelegate ()


@end


@implementation AppDelegate



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

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

   First * first = [[Firstalloc]init];

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

    self.window.rootViewController = nv;

    

    

    returnYES;

}




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到第一页成为第一页标题






0 0
原创粉丝点击