一、手写控件
1.手写控件的步骤
(1)使用相应的控件类创建控件对象
(2)设置该控件的各种属性
(3)添加控件到视图中
(4)如果是button等控件,还需考虑控件的单击事件等
(5)注意:View Contollor和view的关系
2.注意点
在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力!
设置控件监听方法的示例代码如下:
[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
提示:
1> addTarget方法定义在UIControl类中,这意味着可以给所有继承自UIControl类的对象添加监听方法
2> 监听方法的第一个参数就是对象本身
3> 监听方法的第二个参数是监听控件的事件
3.代码示例
1 //1.使用类创建一个按钮对象
2 // UIButton *<span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">button</span><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];</span>
3 //设置按钮对象为自定义型
4 UIButton *<span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">button</span>=[UIButton buttonWithType:UIButtonTypeCustom];
5
6 //2.设置对象的各项属性
7 //(1)位置等通用属性设置
8 <span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">button</span><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">.frame=CGRectMake(100, 100, 100, 100);</span>
9
10 //(2)设置普通状态下按钮的属性
11 [button setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
12 [button setTitle:@"点我!" forState:UIControlStateNormal];
13 [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
14
15 //(3)设置高亮状态下按钮的属性
16 [button setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
17 [button setTitle:@"还行吧~" forState:UIControlStateHighlighted];
18 [button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
19
20 //3.把对象添加到视图中展现出来
21 [self.view addSubview:button];
二、frame,center和bounds属性
1.frame、center和bounds属性
frame:控制位置和大小
center:控制位置(中心点)
bounds:控制大小(以自己的左上角为原点)
2.注意点
(1)通过以下属性可以修改控件的位置
frame.origin
center
(2)通过以下属性可以修改控件的尺寸
frame.size
bounds.size