iOS开发UI基础—手写控件,frame,center和bounds属性
101 leftbtn.frame=CGRectMake(50, 300, 40, 40);
80
122 [self.view addSubview:rightbtn];
复制代码
12 @interface YYViewController ()
65
frame.origin
二、frame,center和bounds属性
146 [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_highlighted"] forState:UIControlStateHighlighted];
20 //3.把对象添加到视图中展现出来
23 self.headImageView=headbtn;
33 [super viewDidLoad];
45 //(1)位置等通用属性设置
78 //4.按钮的单击控制事件
110
102 [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
172 center.x-=50;
54 [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
100 //2.设置对象的属性
73 [topbtn setBackgroundImage:[UIImage imageNamed:@"top_highlighted"] forState:UIControlStateHighlighted];
168 break;
9 #import "YYViewController.h"
150 }
24 krightbtntag,
center
38
129 //1.创建对象
191 {
17 [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];
16 [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
22 ktopbtntag=1,
复制代码
180
7 //(1)位置等通用属性设置
206 //使用bounds,以中心点位原点进行缩放
39 //1.使用类创建一个按钮对象
15 //(3)设置高亮状态下按钮的属性
136 //3.添加到视图
85 //2.设置对象的属性
133 [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_normal"] forState:UIControlStateNormal];
(3)添加控件到视图中
58 //3.把对象添加到视图中展现出来
109 [leftbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
12 [headbtn setTitle:@"点我!" forState:UIControlStateNormal];
11 //私有扩展
189 }
209 bounds.size.height =30;
71 topbtn.frame=CGRectMake(100, 250, 40, 40);
163 case ktopbtntag:
188
10 //(2)设置普通状态下按钮的属性
95
20 typedef enum
36 //手写控件代码
213 {
53 //(3)设置高亮状态下按钮的属性
57
43
183 self.headImageView.center=center;
220 self.headImageView.bounds=bounds;
88 [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_highlighted"] forState:UIControlStateHighlighted];
2.注意点
[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
77
31
130 UIButton *plusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
66 /**================向上的按钮=====================*/
男篮世界杯波胆, 44 //2.设置对象的各项属性
202 // }
19 //枚举类型,从1开始
4 //
在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力!
8
138 //4.单击事件
2> 监听方法的第一个参数就是对象本身
51 [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
96
167 center.y =30;
178
16
bounds:控制大小(以自己的左上角为原点)
1> addTarget方法定义在UIControl类中,这意味着可以给所有继承自UIControl类的对象添加监听方法
75 //3.把控件添加到视图中
153 -(void)Click:(UIButton *)button
23 kdownbtntag,
84 UIButton *downbtn=[UIButton buttonWithType:UIButtonTypeCustom];
217
复制代码
5 // Created by apple on 14-5-21.
214 bounds.size.height-=50;
199 // {
108 //4.按钮的单击控制事件
29 - (void)viewDidLoad
222 [UIView commitAnimations];
94 [downbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
11 [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
http://www.bkjia.com/IOSjc/775189.htmlwww.bkjia.comtruehttp://www.bkjia.com/IOSjc/775189.htmlTechArticle一、手写控件 1.手写控件的步骤 (1)使用相应的空间类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是bu...
200 // frame.size.width-=50;
190 -(void)Zoom:(UIButton *)btn
67 //1.创建按钮对象
91 [self.view addSubview:downbtn];
26 }btntag;
93 //4.按钮的单击控制事件
一、手写控件
103 [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
151
142 /**================缩小的按钮=====================*/
106 [self.view addSubview:leftbtn];
70 //2.设置对象的属性
4 UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];
161 CGPoint center=self.headImageView.center;
196 // frame.size.width =30;
157 //CGRect frame=self.headImageView.frame;
(2)设置该控件的各种属性
8 headbtn.frame=CGRectMake(100, 100, 100, 100);
194 // if (btn.tag) {
203 // self.headImageView.frame=frame;
221 [UIView setAnimationDuration:2.0];
148 [self.view addSubview:minusbtn];
201 // frame.size.height-=50;
19
165 break;
105 //3.把控件添加到视图中
176 break;
72 [topbtn setBackgroundImage:[UIImage imageNamed:@"top_normal"] forState:UIControlStateNormal];
224 @end
143 UIButton *minusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
156 //练习使用frame属性
169 case kleftbtntag:
211 }
设置控件监听方法的示例代码如下:
98 //1.创建按钮对象
17 @implementation YYViewController
104 [leftbtn setTag:4];
28 //viewDidLoad是视图加载完成后调用的方法,通常在此方法中执行视图控制器的初始化工作
160 //练习使用center属性
134 [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_highlighted"] forState:UIControlStateHighlighted];
25 kleftbtntag
117 rightbtn.frame=CGRectMake(150, 300, 40, 40);
115 UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
9
bounds.size
152 //控制方向的多个按钮调用同一个方法
47
210 bounds.size.width =30;
40 // UIButton *headbtn=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];
83 //1.创建按钮对象
192 //使用frame,以自己的左上角(自己的原点)为原点
215 bounds.size.width-=50;
87 [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_normal"] forState:UIControlStateNormal];
97 /**================向左的按钮=====================*/
195 // frame.size.height =30;
64 //二、写四个控制图片左右上下移动方向的按钮控件
(1)通过以下属性可以修改控件的位置
127 //三、写两个缩放按钮
207 CGRect bounds = self.headImageView.bounds;
216 }
22 //注意点!
219 [UIView beginAnimations:nil context:nil];
173 break;
37 //一、写一个按钮控件,上面有一张图片
63
49 [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
181 //首尾式设置动画效果
62
198 // else
55 [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];
86 downbtn.frame=CGRectMake(100, 350, 40, 40);
145 [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_normal"] forState:UIControlStateNormal];
提示:
137 [self.view addSubview:plusbtn];
132 plusbtn.frame=CGRectMake(75, 400, 40, 40);
69
116 //2.设置对象的属性
34
2.注意点
99 UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
158
52
48 //(2)设置普通状态下按钮的属性
30 {
一个控制图片上下左右平移,缩放的程序(frame、center和bounds属性)
35
32 //在viewDidLoad方法中,不要忘记调用父类的方法实现
208 if (btn.tag) {
218 //设置首尾动画
140
126
frame:控制位置和大小
18
170 //发现一个bug,之前的问题是因为少写了break,造成了它们的顺序执行,sorry
42 UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];
13 [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
10
187 NSLog(@"移动!");
171 //center.x=center.x-30;
120 [rightbtn setTag:3];
60 //注意点!
21 [self.view addSubview:headbtn];
118 [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
166 case kdownbtntag:
112
18 [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
92
141
1.手写控件的步骤
21 {
204
frame.size
74 [topbtn setTag:1];
61 self.headImageView=headbtn;
186 [UIView commitAnimations];
56 [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
2 // YYViewController.m
205
6 //2.设置对象的各项属性
82 /**================向下的按钮=====================*/
179 // self.headImageView.frame=frame;
81
(4)如果是button等控件,还需考虑控件的单击事件等
76 [self.view addSubview:topbtn];
135 [plusbtn setTag:1];
123
159 /**注意,这里如果控制位置的两个属性frame和center同时使用的话,会出现很好玩的效果,注意分析*/
111
144 minusbtn.frame=CGRectMake(125, 400, 40, 40);
15 @end
90 //3.把控件添加到视图中
79 [topbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
125 [rightbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
center:控制位置(中心点)
119 [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
50 [headbtn setTitle:@"点我!" forState:UIControlStateNormal];
223 }
(2)通过以下属性可以修改控件的尺寸
154 {
1.frame、center和bounds属性
155
3.代码示例
193 // CGRect frame=self.headImageView.frame;
89 [downbtn setTag:2];
177 }
1 //
174 case krightbtntag:
3 //设置按钮对象为自定义型
185 [UIView setAnimationDuration:2.0];
182 [UIView beginAnimations:nil context:nil];
41 //设置按钮对象为自定义型
107
113 /**================向右的按钮=====================*/
(5)注意:View Contollor和view的关系
3> 监听方法的第二个参数是监听控件的事件
121 //3.把控件添加到视图中
197 // }
124 //4.按钮的单击控制事件
7 //
128 /**================放大的按钮=====================*/
164 center.y-=30;
6 // Copyright (c) 2014年 itcase. All rights reserved.
184 //设置时间
59 [self.view addSubview:headbtn];
131 //2.设置属性
(1)使用相应的空间类创建控件对象
3.代码示例
5
2 // UIButton *headbtn=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];
149 [minusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
114 //1.创建按钮对象
212 else
175 center.x =50;
162 switch (button.tag) {
68 UIButton *topbtn=[UIButton buttonWithType:UIButtonTypeCustom];
46 headbtn.frame=CGRectMake(100, 100, 100, 100);
3 // 01-练习使用按钮的frame和center属性
14
1 //1.使用类创建一个按钮对象
27
13
139 [plusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
147 [minusbtn setTag:0];
14 @property(nonatomic,weak)IBOutlet UIButton *headImageView;
本文由美洲杯波胆发布于计算机教程,转载请注明出处:iOS开发UI基础—手写控件,frame,center和bounds属性
关键词: