【XCode - OC】之UI基礎1
阿新 • • 發佈:2018-12-25
IBAction 方法
連button
返回值角度,相當於void
只有返回值宣告為IBAction 的方法,才能跟storyboard中控制元件連線
- (IBAction)clickToBlue{
IBOutlet 屬性
連label
只有宣告為IBAction 的方法,才能跟storyboard中控制元件連線
@interface MainViewController ()
@property(nonatomic, weak)IBOutlet UILabel *label;
@end
實現:
//改變文字顏色 self.label.textColor = [UIColor redColor]; //改變文字內容 self.label.text = @"我變成紅色了哦!"; //改變背景顏色 self.label.backgroundColor = [UIColor yellowColor]; //文字居中 self.label.textAlignment = NSTextAlignmentCenter; //改變文字大小 self.label.font = [UIFont systemFontOfSize:20.f];
連線的三種方式:
- 小圓圈開始 到button
- button按下Ctrl 到程式碼區
- 右擊button touch up inside 圓圈拖至程式碼區
- button 通過control 到空白action區域,修改引數
常見錯誤
- 錯誤1
描述:
reason: ‘[<MainViewController 0x7fa817c0c6d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key redButton.’
原因:
有多餘的連線
解決:
刪除多餘的連線
- 錯誤2
描述
reason: ‘-[MainViewController clickToYellow:]: unrecognized selector sent to instance 0x7fea574322f0’
原因:
有多餘的連線,找不到對應的方法
解決:
補上連線 或者刪除多餘的連線
-
(void)addSubview:(UIView *)view;
新增一個子控制元件view -
(void)removeFromSuperview;
將自己從父控制元件中移除
程式碼:
- (void)viewDidLoad {
[super viewDidLoad];
// 1. 建立Switch控制元件
UISwitch *sw = [[UISwitch alloc] init];
//2. 新增到控制器的view中
[self.view addSubview:sw];
//3. 在secendView中建立一個segmented Control
UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:@[@"A.1000萬",@"B.漂亮女孩", @"C.長得帥"]];
//4. 新增控制元件到secondView中
[self.secendView addSubview:seg];
//5. 移除控制元件
[sw removeFromSuperview];
[self.secendView removeFromSuperview];
}
純程式碼將label等控制元件寫進控制器
//7. frame(改變位置和尺寸) + 把控制元件label放進控制器中
UILabel *label = [[UILabel alloc] init];
label.frame = CGRectMake(self.view.frame.size.width*0.5, self.view.frame.size.height*0.5, 200, 100);
label.text = @"我座標在中心";
label.backgroundColor = [UIColor yellowColor];
[self.view addSubview:label];
//8. bounds(改變尺寸)
//label.bounds = CGRectMake(0, 0, 100, 200);
//9. centre (控制元件中點的位置)
UIButton *btn = [[UIButton alloc] init];
btn.bounds =CGRectMake(0, 0, 100, 50);
btn.center =CGPointMake(self.view.frame.size.width*0.5, self.view.frame.size.height*0.5);
btn.backgroundColor= [UIColor greenColor];
[self.view addSubview:btn];
//如果只改變width height
CGRect frame = btn.frame;
frame.size.width = 200;
btn.frame =frame;
補充 Xcode中常用快捷鍵
control + 空格 改變輸入法
command +shift +new 新建xcode
command+ return 一個介面 mainboard
command+ option +return 復原 兩個介面