ios開發ui基礎—自定義控制項(手寫控制項),frame,center和bounds屬性
一、手寫控制項
1.手寫控制項的步驟
(1)使用相應的控制項類建立控制項物件
(2)設定該控制項的各種屬性
(3)新增控制項到檢視中 父控制項 子控制項
(4)如果是button等控制項,還需考慮控制項的單擊事件等
(5)注意:view contollor和view的關係
2.注意點
在oc開發中,storyboard中的所有操作都可以通過**實現,**實現的soryboard不一定能實現。程式設計師一定要熟練掌握**布局介面的能力!
設定控制項監聽方法的示例**如下:
> [btn addtarget:
self
action:
@selector(click:)
> forcontrolevents:
uicontroleventtouchupinside];
1> addtarget方法定義在uicontrol類中,這意味著可以給所有繼承自uicontrol類的物件新增監聽方法
2> 監聽方法的第乙個引數就是物件本身
3> 監聽方法的第二個引數是監聽控制項的事件
3.**示例
1
//1.使用類建立乙個按鈕物件
2// uibutton *headbtn=[[uibutton alloc] initwithframe:cgrectmake(100 ,100, 100, 100)];
3//設定按鈕物件為自定義型
4uibutton *headbtn=[uibutton buttonwithtype:uibuttontypecustom]; 56
//2.設定物件的各項屬性
7//(1)位置等通用屬性設定
8 headbtn.frame=cgrectmake(100, 100, 100, 100);
910//(2)設定普通狀態下按鈕的屬性
11 [headbtn setbackgroundimage:[uiimage imagenamed:@"i"] forstate:uicontrolstatenormal];
12 [headbtn settitle:@"點我!" forstate:uicontrolstatenormal];
13 [headbtn settitlecolor:[uicolor redcolor] forstate:uicontrolstatenormal];
1415
//(3)設定高亮狀態下按鈕的屬性
16 [headbtn setbackgroundimage:[uiimage imagenamed:@"a"] forstate:uicontrolstatehighlighted];
17 [headbtn settitle:@"還行吧~" forstate:uicontrolstatehighlighted];
18 [headbtn settitlecolor:[uicolor bluecolor] forstate:uicontrolstatehighlighted];
1920
//3.把物件新增到檢視中展現出來
21 [self
.view addsubview:headbtn];
22//注意點!
23self
.headimageview=headbtn;
二、frame,center和bounds屬性
1.frame、center和bounds屬性
frame:控制位置和大小
center:控制位置(中心點)
bounds:控制大小(以自己的左上角為原點)
2.注意點
(1)通過以下屬性可以修改控制項的位置
frame.origin
center
(2)通過以下屬性可以修改控制項的尺寸
frame.size
bounds.size
3.**示例
乙個控制上下左右平移,縮放的程式(frame、center和bounds屬性)
1//2
// abviewcontroller.m
3// 01-練習使用按鈕的frame和center屬性4//
567//
89#import "abviewcontroller.h"
1011
//私有擴充套件
12@inte***ce
abviewcontroller ()
1314
@property(nonatomic,weak)iboutlet
uibutton *headimageview;
15@end
1617
@implementation
abviewcontroller
1819
//列舉型別,從1開始
20typedef
enum
21 btntag;
2728
//viewdidload是檢視載入完成後呼叫的方法,通常在此方法中執行檢視控制器的初始化工作
29 - (void)viewdidload
30 151152
//控制方向的多個按鈕呼叫同乙個方法
153 -(void)click:(uibutton *)button
154
178179
// self.headimageview.frame=frame;
180181
//首尾式設定動畫效果
182 [uiview beginanimations:nil context:nil];
183self
.headimageview
.center=center;
184//設定時間
185 [uiview setanimationduration:2.0];
186 [uiview commitanimations];
187nslog(@"移動!");
188189 }
190 -(void)zoom:(uibutton *)btn
191
198// else
199//
203// self.headimageview.frame=frame;
204205
206//使用bounds,以中心點位原點進行縮放
207cgrect bounds = self
.headimageview
.bounds;
208if (btn.tag)
212else
213
217218
//設定首尾動畫
三、簡單的動畫效果
簡單介紹首尾式動畫效果
(1)開始動畫
(2)設定動畫相關的時間等
(3)參與動畫的行動
(4)提交動畫
注:實現**參考上面的**
WPF 自定義UI控制項學習
最近專案中運用到了wpf處理三維軟體,在c s結構中wpf做ui還是有很多優越性,簡單的學了一點wpf知識,成功的完成專案目標。專案過度階段對於wpf的一些基本特點有了進一步了解 至此花費一點時間研究研究wpf控制項。為以後的專案開發中提供一些可觀的資源也是不錯的。目前控制項完成數量有限,空餘時間較...
QT 自定義類訪問UI控制項
qt 自定義類訪問ui控制項的幾種方法 qt建立窗體工程,一般在mainwindow或dialog類裡可以直接通過ui指標訪問控制項,但是新增新的類後又如何訪問呢,可以通過以下幾種方式 1.將ui指標公開後直接訪問 1 例如有個自己定義的類customclass,在自定義類裡包含主介面指標mainw...
自定義控制項 自定義鐘錶
private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...