iOS - 控制項view和button,ios控制項viewbutton
IBAction和IBOutlet
IBAction是傳回值,相當於void,只有傳回值是IBAction的方法,才能和storyboard中的控制項進行連線
只有聲明為IBOutlet的屬性,才能跟storyboard中的控制項進行連線<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvPg0KPGltZyBhbHQ9"這裡寫圖片描述" src="/uploadfile/Collfiles/20180228/201802280933431059.png" title="\" />
為了保證控制項不被其他地方修改,讓其變成私人變數,將它放在.m檔案中聲明
使用weak的原因是已經有強指標指向他
UIView控制項:螢幕上所有的UI元素都叫控制項屬性:尺寸,位置,背景色
共同屬性都抽取到UIView中
每一個控制項都是一個容器,比較常見的還是用UIVIew作為容器
控制器是不可見的 每一個控制器都有一個UIVIew 能夠看到的是View 每一個控制器中都有一個UIVIew的屬性 控制器中管理的所有子控制項都是該空間的子控制項常見方法// 添加一個子控制項view- (void)addSubview:(UIVIew *)view;
// 將自己從父控制項中移除- (void)removeFromSuperview;
// 根據一個tag標識找出一個對應的控制項(一般都是子控制項)- (UIView *)viewWithTag:(NSInteger)tag;
常見屬性// 控制項矩形框在父控制項中的位置和尺寸,以左上方為座標原點@property(nonatomic) CGRect frame;label.frame = CGRectMake(0, 0, 100, 100);// 修改方式1self.label.frame = CGRectMake(200, 100, 100, 50);// 修改方式2// 結構體是值傳遞,不是地址傳遞CGRect frame = self.label.frame;frame.origin.x -= 100;frame.size.width += 50;self.label.frame = frame;
// 控制項矩形框的位置和尺寸,以自己左上方為座標原點,bounds的x、y一般為0@property(nonatomic) CGRect bounds;
//控制項中點的位置@property(nonatomic) CGPoint center;
viewDidLoad/** 1. 系統調用 2. 控制器的View載入完畢的時候調用 3. 控制項的初始化,資料的初始化(懶載入) */- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}
didReceiveMemoryWarning/** 1. 系統調用 2. 當控制器就收到記憶體警告調用 3. 取出一些不必要的記憶體,取出耗時的記憶體 */- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}
Button按鈕發生事件
- (IBAction)clickRedButton{ // 改變文字顏色 self.label.textColor = [UIColor redColor]; // 改變文字內容 self.label.text = @"我是紅色"; // 改變文字背景顏色 self.label.backgroundColor = [UIColor greenColor]; // 改變文字對齊NSTextAlignmentCenter:置中,NSTextAlignmentRight:靠右,NSTextAlignmentLeft:靠左 self.label.textAlignment = NSTextAlignmentCenter; // 改變文字大小 self.label.font = [UIFont systemFontOfSize:30.f];}