1.22 视图切换部分

关于常用的视图切换控件UITabBarController 与 UINavigationBar的那些事。。


一、UITabBar部分

多个视图之间可以随时相互切换的一种很方便直观的方法

效果是下方会出现一条有多个可按按钮的条,通过按下按钮就会切换到相应的视图

(1)先新建导航条

新建一个继承自UITabBarController的类,代码便会自动生成

(2)设置在应用程序启动后TabBar的子视图,并且把(1)中创建的tabbar设为根控制器,例如下面这样(tabBarController为(1)创建的控制器,并且在AppDelegate中初始化了,viewController1,2,3,4均为子视图)

    tabBarController.viewControllers = @[viewController1,viewController2,viewController3,viewController4];

    

    for (UIViewController *controller in tabBarController.viewControllers) {

        UIViewController *view = controller.view;

    }


    self.window.rootViewController = controller;


***其中通过for循环进行历遍是为了在第一次加载时便把所有视图控制器的图标显示出来

***或者直接在init时把tabBarItem的属性放进去就可以不用历遍了

t***abBarItem的图标建议大小为32*32的png格式,并且打开alpha通道(?)否则无法显示


(3)如通过1和2创建了tabbar,则在对应的视图里可以直接通过self.tabBarItem.title来设置对应视图切换器的标题,

以及self.tabBarItem.image设置图标,self.tabBarItem.selectedImage来设置被选中时的图标,self.tabBarItem.badgeValue来显示对应视图切换器右上小红圈内的内容等等。。


二、UINavigationBar部分

通过上方导航条直接进行视图切换,(常见的比如添加好友啊,删除啊等等)中间显示标题,左右按钮可以自定义按钮内容以及切换到的页面

(1)先在AppDelegate中进行全局导航栏的设置

    [[UINavigationBar appearance]setBarStyle:UIBarStyleDefault];

    [[UINavigationBar appearance]setBarTintColor:[UIColor orangeColor]];

    

    UINavigationController *controller = [[UINavigationController alloc]initWithRootViewController:tabBarController];


***这里把一中创建的tabBarController设置为全局导航栏并且把相关的信息放在其中


(2)全局导航栏以及子视图的设置:

-(void)viewDidLoad{

    [super viewDidLoad];

    

    self.navigationItem.title = @"这是导航栏";

    UIBarButtonItem *back = [[UIBarButtonItem alloc]initWithTitle:@"返回"

                                                            style:UIBarButtonSystemItemDone target:nil action:nil];

    self.navigationItem.backBarButtonItem = back;

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"下一步" style:UIBarButtonSystemItemDone target:self action:@selector(gotoNext)];

}


-(void)gotoNext{

    NaviViewControllerOne *page1 = [[NaviViewControllerOne alloc]init];

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

}



self.navigationItem.rightBarButtonItem 这个设置了右边按钮的相关属性,对应的左边按钮则为leftBarButtonItem

self.navigationItem.backBarButtonItem  这个为跳转到下个页面后下个页面默认存在的返回按钮的属性,可以对他进行更改

在gotoNext方法中,pushViewController:page1 animated:YES  这个方法指明了跳向page1这个视图,同时在其他视图还可以通过这个方法直接返回根视图:popToRootViewControllerAnimated:YES



更新中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值