UILabel主要是为了显示文本,UITextField主要是为了输入文本,UIButton可以显示文本并且响应事件。
在详细讲诉这三个控件之前,我想先讲一下UIView,其实UIView很好理解,就是之前讲UIWindow时的添加在画板上的画布。而它也非常的重要,在iOS中几乎所有可视化控件都是UIView的子类,这三个控件当然也包括在内。
如何用代码创建UIView:
//设置frame确定UIView对象的位置以及大小 UIView *view =[ [UIView alloc] initWithFrame:CGrectMake(100,100,100,100)]; //设置UIView对象的属性:设置背景颜色 view.backgroundColor = [UIColor redColor]; //将创建好的UIView对象添加到Window上显示 [self.window addSubview:view];
当我们知道如何创建UIView的时候,其实我们也差不多知道如何去创建以上三个控件了。唯一的细小区别就是他们有着不同的属性。(以下举例如何创建UIButton)
如何创建UIButton:
// 创建一个UIButton对象,UIButton侧重于交互,响应事件 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; // 设置Button的frame button.frame = CGRectMake(37, 300, 200, 200); // 设置button显示的文本 [button setTitle:@"你是猪" forState:UIControlStateNoamal];
// 给button添加了一个事件 [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:button];
然后我们将如何创建UIView和如何创建UIButton进行对比一下:在创建时都要给它设定frame(位置和大小),然后设置它的属性,最后将它添加到某一个视图上面去显示。按照以上步骤,创建一些简单的控件也没那么复杂。