iPhone开发进阶(3)定制UIViewController案例实现

移动开发 iOS
首先如果 UIViewController 的 init 方法找不到 XIB 文件的话,会自动创建一个自己的 UView 对象,使用 viewDidLoad 将自己登录。所以,我们可以在定制 UIViewController 时实现 viewDidLoad 方法、将 view 作为 subview。

iPhone开发中编程定制UIViewController案例实现是本文要介绍的内容,在上一节看到,即使不使用 XIB 文件,也可以通过重写 viewDidLoad 函数来配置任意的view或者是Controller。这里我们看看怎样编程定制这样的view和Controller。

首先如果 UIViewController 的 init 方法找不到 XIB 文件的话,会自动创建一个自己的 UView 对象,使用 viewDidLoad 将自己登录。所以,我们可以在定制 UIViewController 时实现 viewDidLoad 方法、将 view 作为 subview。

例子中 view 的背景为蓝色,在其上设置一个 UIButton。

第一步,在 CustomViewControllerAppDelegate.m 文件中定义 CustomViewController 类。

  1. @interface CustomViewController : UIViewController {  
  2. }  
  3. @end 

同时,在 CustomViewControllerAppDelegate.h 文件中实现该实例。

  1. @class CustomViewController;  
  2.  
  3. @interface CustomViewControllerAppDelegate : NSObject  {  
  4.     UIWindow *window;  
  5.     CustomViewController*   controller;  

@class CustomViewController 类似与C++中的类先声明。因为不需要外部对象的访问,所以没有 @property 宣言。

CustomViewController 的实例在 CustomViewControllerAppDelegate 类的成员函数 applicationDidFinishLaunching 中生成,然后用 addSubview 将 CustomViewController实例中的 view 添加进去。最后在 CustomViewControllerAppDelegate 释放的时候(dealloc)中释放其实例。代码如下所示:

  1. - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  2.     viewController = [[CustomViewController alloc]init];  
  3.     [window addSubview:viewController.view];  
  4.     [window makeKeyAndVisible];  
  5. }  
  6.  
  7. - (void)dealloc {  
  8.     [window release];  
  9.     [controller release];  
  10.     [super dealloc];  

用 window addSubview 表示最初的view。

然后像下面简单地声明和实现 CustomViewController。在 CustomViewController 的 viewDidLoad 函数中设置背景色为蓝色。

  1. @interface CustomViewController : UIViewController {  
  2. }  
  3. @end  
  4.  
  5. @implementation CustomViewController  
  6. - (void)viewDidLoad {  
  7.     [super viewDidLoad];  
  8.     self.view.backgroundColor = [UIColor blueColor];  
  9. }  
  10. @end 

编译以后执行一下,看到下面的结果,如图:

编程定制UIViewController案例实现

接下来我们再来添加按钮,我们动态生成一个 UIButtonTypeInfoLight 类型的按钮,设置了按钮的 frame 后,用addSubview 添加到 view 上。

  1.  @implementation CustomViewController  
  2.  - (void)viewDidLoad {    
  3.    [super viewDidLoad];      
  4.    self.view.backgroundColor = [UIColor blueColor];     
  5.     UIButton* button = [UIButton buttonWithType:UIButtonTypeInfoLight];      
  6.     button.frame = CGRectMake(100,100,100,100);      
  7.     [self.view addSubview:button];  
  8. }  
  9. @end  

最终的效果如下:

编程定制UIViewController案例实现

小结:iPhone开发编程定制UIViewController案例实现的内容介绍完了,希望通过本文的学习能对你有所帮助!如果想继续深入了解的话,请参考以下几篇文章:

iPhone开发进阶(1)iPhone应用程序项目构成案例实现

iPhone开发进阶(2)iPhone应用程序的启动过程

iPhone开发进阶(4)编程定制UIButton案例实现

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-17 16:29:12

iPhone开发UIButton

2011-08-17 16:12:20

iPhone应用程序

2011-08-17 16:16:29

iPhone应用程序启动过程

2011-05-03 15:28:15

BlackBerryWidget

2013-12-27 09:54:58

Android开发NDK

2011-08-15 15:44:46

iPhone开发PDF

2011-08-18 16:24:44

iPhone开发图片

2010-12-23 09:11:17

读写Android文件

2012-02-07 10:05:40

jQuery MobijQuery Mobi

2011-08-16 15:48:37

iPhone开发抓图程序

2011-08-19 10:13:05

iPhone开发

2011-08-19 11:10:31

iPhone应用

2011-08-18 15:24:40

iPhone国际化

2021-01-20 08:16:06

异步Dotnet Core多路径

2023-08-01 08:52:03

WebRTC.Net线程

2011-08-19 10:05:30

iPhone开发

2011-07-21 14:42:45

iOS UIViewCont 内存

2014-01-07 14:53:37

Android开发依赖注入Roboguice

2011-07-29 14:18:46

iPhone开发 动画

2011-10-18 10:17:39

Android应用开发
点赞
收藏

51CTO技术栈公众号