国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IOSUi控件修改位置和尺寸,代碼添加控件

2019-11-14 20:28:52
字體:
來源:轉載
供稿:網友
所有的UI控件最終都繼承自UIView,UI控件的公共屬性都定義在UIView中,
 
UIView的常見屬性
 
 
UIView *superview;  獲得自己的父控件對象
NSArray *subviews;  獲得自己的所有子控件對象
NSInteger tag;  控件的ID(標識),父控件可以通過tag來找到對應的子控件
CGAffineTransform transform;  控件的形變屬性(可以設置旋轉角度、比例縮放、平移等屬性)
CGRect frame;  控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角為坐標原點)
CGRect bounds;  控件所在矩形框的位置和尺寸(以自己左上角為坐標原點,所以bounds的x、y一般為0)
CGPoint center;  控件中點的位置(以父控件的左上角為坐標原點)
 
常用的Button狀態
 
normal(普通狀態)
默認情況(Default)
對應的枚舉常量:UIControlStateNormal

 

highlighted(高亮狀態)
按鈕被按下去的時候(手指還未松開)
對應的枚舉常量:UIControlStateHighlighted
 
disabled(失效狀態,不可用狀態)
如果enabled屬性為NO,就是處于disable狀態,代表按鈕不可以被點擊
對應的枚舉常量:UIControlStateDisabled
 
不同狀態,可以設置Button不同的屬性(顏色,文字,背景圖片等)
 
修改控件位置
 
通過修改控件的frame屬性就可以修改控件在屏幕上的位置和尺寸
 
通過以下屬性可以修改控件的位置
frame.origin
center

 

通過
frame.size
bounds.size
屬性可以修改控件的尺寸
 
// 比如點擊“向上”按鈕,讓按鈕的y值減小即可- (IBAction)top:(UIButton *)sender {    CGRect btnFrame = self.headBtn.frame;    btnFrame.origin.y -= 10;    self.headBtn.frame = btnFrame;}// 下面代碼是錯誤的,OC語法規定:不允許直接修改對象的結構體屬性的成員self.headBtn.frame.origin.y -= 10;

 

通過

屬性可以修改控件的位置、尺寸不需要計算形變之后的結果

 

代碼添加控件

// 創建一個自定義的按鈕UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];// 默認狀態的背景[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];// 默認狀態的文字[btn setTitle:@"點我啊" forState:UIControlStateNormal];// 默認狀態的文字顏色(有哪些顏色可以直接點UIColor頭文件查看)[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

 例如:

 

// 視圖加載完成調用的方法,通常視圖控制器的初始化工作,在此執行!// 一定不要忘記調用父類的實現方法- (void)viewDidLoad // 此方法是繼承自父類的方法{    [super viewDidLoad];      // 創建按鈕控件    UIButton *btn = [[UIButton alloc] init];    // 設置控件的位置   btn.frame = CGRectMake(20, 20, 100, 100);	// btn.backgroundColor = [UIColor redColor];    // 設置控件的文字   [btn setTitle:@"按鈕" forState:UIControlStateNormal];    // 設置控件文字的顏色    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];        UIImage *image = [UIImage imageNamed:@"btn_01"];    [btn setBackgroundImage:image forState:UIControlStateNormal];    [btn setTitle:@"點我" forState:UIControlStateNormal];  // 設置按鈕控件在普通狀態下的字體顏色    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];    // 設置按鈕空間在高粱狀態下的背景圖片    [btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];      // 將設置好的按鈕空間添加到當前view中   [self.view addSubview:btn];        // 按鈕的監聽方法    [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];      // 將.h中聲明的屬性headImageView與btn相關聯    self.headImageView = btn;}

 

  

 修改大小。角度

 

    // MakeTranslation是基于對象初始位置做的形變//    self.delta -= 20;//    NSLog(@"%d", self.delta);//    self.headImageView.transform = CGAffineTransformMakeTranslation(0, self.delta);    // Translate是基于transform參數做的形變,實際效果就是一個累加的位移效果      self.headImageView.transform = CGAffineTransformTranslate(self.headImageView.transform, 0, -20);	  self.headImageView.transform = CGAffineTransformScale(self.headImageView.transform, 2.0, 1.0);

// 在OC中,所有跟角度相關的數值,都是弧度值,180° = M_PI
// 正數表示順時針旋轉
// 負數表示逆時針旋轉
self.headImageView.transform = CGAffineTransformRotate(self.headImageView.transform, -M_PI_4);

 

  

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松江区| 吉林省| 柯坪县| 富源县| 舞钢市| 金沙县| 长岭县| 同仁县| 凌源市| 介休市| 四子王旗| 宜阳县| 安宁市| 丹寨县| 汶上县| 双鸭山市| 阜南县| 太保市| 茂名市| 昭觉县| 调兵山市| 凌云县| 沐川县| 嘉义市| 上饶县| 武胜县| 高陵县| 桓台县| 勐海县| 平南县| 依兰县| 武川县| 宁波市| 东乌珠穆沁旗| 巴塘县| 灵丘县| 砀山县| 威海市| 象山县| 综艺| 镇安县|