1. 程式人生 > >【XCode - OC】之UI基礎1

【XCode - OC】之UI基礎1

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];

連線的三種方式:

  1. 小圓圈開始 到button
  2. button按下Ctrl 到程式碼區
  3. 右擊button touch up inside 圓圈拖至程式碼區
  4. 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 復原 兩個介面