//@property(nonatomic,readonly) UIView *superview;
//得到本身的父控件對象ide
//@property(nonatomic,readonly,copy) NSArray *subviews;
得到本身的全部子控件對象佈局
//@property(nonatomic) NSInteger tag;
//控件的ID\標識,父控件能夠經過tag來找到對應的子控件atom
//@property(nonatomic) CGAffineTransform transform;
//控件的形變屬性(能夠設置旋轉角度、比例縮放、平移等屬性)orm
//@property(nonatomic) CGRect frame;
//控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角爲座標原點)對象
//@property(nonatomic) CGRect bounds;
//控件所在矩形框的位置和尺寸(以本身左上角爲座標原點,因此bounds的x\y通常爲0)開發
//@property(nonatomic) CGPoint center;
//控件中點的位置(以父控件的左上角爲座標原點)rem
//在UIKit中,座標系的原點(0,0)在左上角,x值向右正向延伸,y值向下正向延伸get
//- (void)addSubview:(UIView *)view;
//添加一個子控件viewit
//- (void)removeFromSuperview;
//從父控件中移除io
//- (UIView *)viewWithTag:(NSInteger)tag;
//根據一個tag標識找出對應的控件(通常都是子控件)
//經過修改控件的frame屬性就能夠修改控件在屏幕上的位置和尺寸
//好比點擊「向上」按鈕,讓按鈕的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;
//若是發現經過代碼沒法修改控件的位置或者尺寸時,應該去掉storyboard裏面的autolayout功能,這是自iOS6開始出現的特性
//顧名思義,autolayout是用來自動佈局的,用來束縛控件的位置和尺寸。去掉這個功能,控件的位置和尺寸就再也不有一些固定的束縛。
Size Class 讓你可使用一個storyboard來知足全部的設備,它通常與Autolayout結合使用
在開發過程當中,並非每次都經過storyboard拖控件完成UI界面,由於storyboard上面的界面是「固定死」的,有時候可能會在程序運行過程當中動態地添加一些新的控件到界面上
好比QQ的聊天信息,是有人發出一條信息後才動態顯示出來的。所以,須要掌握如何用代碼動態地添加控件
實際上,storyboard的本質就是根據圖形界面描述轉成相應的代碼
下面演示用代碼建立按鈕
// 1.建立一個自定義的按鈕
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
// 2.添加按鈕
[self.view addSubview:btn];
// 3.設置按鈕的位置和尺寸
btn.frame = CGRectMake(100, 100, 100, 100);
// 4.監聽按鈕點擊(點擊按鈕後就會調用self的btnClick方法)
[btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
// 5.設置按鈕在默認狀態下的屬性
// 5.1.默認狀態的背景
[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];
// 5.2.默認狀態的文字
[btn setTitle:@"點我啊" forState:UIControlStateNormal];
// 5.3.默認狀態的文字顏色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
// 6.設置按鈕在高亮狀態下的屬性
// 6.1.高亮狀態的背景
[btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];
// 6.2.高亮狀態的文字
[btn setTitle:@"摸我幹啥" forState:UIControlStateHighlighted];
// 6.3.高亮狀態的文字顏色
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
// 建立一個自定義的按鈕 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; // 默認狀態的背景 [btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal]; // 默認狀態的文字 [btn setTitle:@"點我啊" forState:UIControlStateNormal]; // 默認狀態的文字顏色 [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];