《iPhone应用程序开发指南(基础篇)》第六章 6.2(3)
原文地址:http://www.aisidechina.com/blog
《iPhone应用程序开发指南(基础篇)》第六章 6.2(3)
By Roy 艾思德丛书 No Comments ? 版权所有:AisideChina
本博客将在今后陆续进行本书的连载,敬请关注!
更多内容请大家购买正版《iPhone应用程序开发指南(基础篇)》
用代码创建按钮控件
在上两小节中,我们都是利用Interface Builder设计程序界面,要在视图中添加一个控件非常简单,但上述方式需要在Xcode和Interface Builder之间来回切换,操作比较繁琐。本小节我们将介绍构建界面的另一种方式——用代码实现,下面的ControlWithCode程序,就是使用代码在界面上添加一个Button。
本程序的主要步骤如下所示:
创建项目,修改ControlWithCodeViewController.h文件
修改ControlWithCodeViewController.m文件,在主视图上创建一个按钮
编译并运行
1.创建项目,修改ControlWithCodeViewController.h文件
打开Xcode,使用View-based Application模板创建一个新项目,并将其命名为ControlWithCode。选中ControlWithCodeViewController.h文件,在文件中添加以下代码:
==================================================================
代码6.7 ControlWithCodeViewController.h文件
#import <UIKit/UIKit.h>
@interface ControlWithCodeViewController: UIViewController {
UIButton *myButton;// 1
}
@property (nonatomic, retain) UIButton *myButton;
@end
================================================
注意:在 1 处我们声明了一个UIButton类型的变量myButton,但是并没有使用关键字IBOutlet,因为这里不会用到Interface Builder。
2.修改ControlWithCodeViewController.m文件,在主视图上创建一个按钮
选中 ControlWithCodeViewController.m文件,需要在文件中用代码创建一个按钮,同时为它指定类型和标题,具体代码如下所示:
=====================================================
代码6.8 ControlWithCodeViewController.m文件
#import “ControlWithCodeViewController.h”
@implementation ControlWithCodeViewController
@synthesize myButton;
- (void) viewDidLoad {
CGRect frame=CGRectMake (105.0f, 150.0f, 100.0f, 50.0f);//1
myButton = [UIButton buttonWithType:
UIButtonTypeRoundedRect];//2
[myButton setTitle:@"Click Me"forState:UIControlStateNormal];//3
myButton.frame=frame;//4
[self. view addSubview: self.myButton];//5
[super viewDidLoad];
}
- (void) dealloc {
[myButton release];
[super dealloc];
}
@end
===================================================
在viewDidLoad方法中,我们首先在 1 处创建一个矩形区域frame,用来定位按钮的位置和大小。其中的参数分别为矩形框的横坐标、纵坐标、宽和高,在 4处,将frame赋给了按钮;在 2 处为文件中声明的按钮实例指定类型。Type属性是UIButton的一个重要属性,在Xcode中,当这条语句写到UIButtonType时,按下Esc键,将会出现如图6-24所示的提示框,你可以根据需要选择不同的按钮类型;在 3 处设置了按钮的标题和状态;同样,这条语句写到UIControlState时,按下Esc键,会出现如图6-25的提示框,里面包含了按钮的多种状态,这里我们设置了按钮正常状态下显示的标题。最后,一定不要忘了使用 5 处addSubview:方法将myButton加载到视图中。
3.编译并运行
到目前为止,用代码创建按钮程序就算完成了。点击Build and Go图标,编译并运行程序,将出现如图6-26所示效果。
从图中看到,创建的按钮和MyButton实例中的按钮是一样的,但是点击按钮时,却不会有任何效果,那是因为没有为按钮制定任何操作方法。如果想让程序变得更丰富点,可以尝试着用代码再创建一个标签,并添加相应的操作方法,就能达到前面小节程序的效果了,想想看该怎么实现。