上一节我们分别使用IB和代码建立了两个视图并且熟悉了一些控件。这一节我们需要了解视图和视图的切换。
在iOS编程中,框架提供了很多视图,比如UIView,UIImageView, UIWebView等。
我们需要在视图控制器中来对视图进行控制。上一节我们建立的
TestMenuComponentViewController和TestComponentViewController就是视图控制器。这两个视图控制器需要如何交互呢?
有UINavagationViewController
首先,我们在AppDelegate.m中的didFinishLaunchingWithOptions函数中添加如下代码
TestComponentViewController *compViewCtrl = [[TestComponentViewController alloc]init]; UINavigationController *navViewCtrl = [[UINavigationController alloc]initWithRootViewController:compViewCtrl]; self.window.rootViewController = navViewCtrl;
默认UINavigationController的初始化控制器为compViewCtrl,然后设置程序的默认ViewController为navViewCtrl。
我们在按钮点击的时候进入下一个View,于是我们在TestComponentViewController的按钮点击事件中增加pushView到navCtroller中
代码如下:
-(IBAction)buttonClicked:(id)sender { _label.text = @"menuView has been pushed "; [_button setTitle:@"Clicked" forState:UIControlStateNormal]; TestMenuComponentViewController *menuViewCtrl = [[TestMenuComponentViewController alloc]init]; [self.navigationController pushViewController:menuViewCtrl animated:YES]; }
运行效果如下:
这是最简单的使用 UINavigationController 来切换视图的例子,也可以使用 UITabBarController 来进行视图切换等,还可以自定义视图来切换。而且切换时还可以添加动画等。读者可以自己试试去实现这些代码。
以下为本文章视图切换的代码
http://115.com/lb/5lbfjyzh#
TeachingProject.zip
115网盘礼包码:5lbfjyzh