从零开始学iPhone开发(3)——视图及控制器的使用

上一节我们分别使用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

原文地址:https://www.cnblogs.com/yaoliang11/p/3237481.html