標籤:style class blog c code tar
1.萬物皆對象
2.LBS:基於位置的服務(熱門)
3.在啟動XCODE建立項目的時候最好勾選 git
4.在SB介面中更改UILabel 之類的控制項裡面的內容,控制項的frame會隨著內容的大小而改變,但是在右側的屬性欄裡面更改則不會影響frame
5.IBAction:SB介面原來叫Interface Builder 縮寫為IB,
6.M_PI_4 代表45° 以此類推
// OC文法規定:不允許直接修改 某個對象中結構體屬性的成員
- ?
| 1 2 3 4 5 6 7 8 |
// 1.先取出frame CGRect tempFrame = _btn.frame; // 2.修改y值 // 這個能修改是因為,這個tempframe只是一個簡單的結構體,而不是對象的結構體,對象的結構體是不能直接修改,但是單純的結構體是可以的 tempFrame.origin.y -= 50; // 3.重新賦值按鈕的frame _btn.frame = tempFrame; |
非常重要:注意辨別方法傳入參數的類型,
- 如 : - (IBAction)add:(id)sender
- 由於傳入的參數是id類型,所以不能使用點文法,如sender.tag就不能使用
- 將(id)改為(UIButton *)就可以使用點文法了
-
block 塊
- 定義:可以給塊傳遞參數,正如給函數傳遞一樣。塊也具有傳回值。與函數不同的是,塊定義在函數或者方法內部,並且能夠訪問在函數或者方法範圍內塊之外的任何變數。
- Blocks的定義:
- int (^MySum)(int, int) = ^(int a, int b) {
- return a+b;
- };
- 定義了一個叫MySum的blocks對象,它帶有兩個int參數,返回int。等式右邊就是blocks的具體實現
- Block可以訪問局部變數,但是不能修改。
-
- 在oc中方法調用block的一半格式:- (void)btn: (void (^)())block
- void----沒有傳回值
- (^)塊的標誌
- ()沒有參數
退出鍵盤的兩種方式
- resignFirstResponder
- 當叫出鍵盤的那個控制項(第一響應者)調用這個方法時,就能退出鍵盤
- endEditing
- 只要調用這個方法的控制項內部存在第一響應者,就能退出鍵盤
-
-
通過代碼建立UI並實現動作的一般流程
- 1.搭建UI介面
- 執行個體化控制項(為控制項指定各種屬性)
- 將執行個體化的控制項添加到view中
- 2.根據UI需求將程式運行中狀態動態改變的
-
-
- 1. 定義屬性
- 根據UI需求將程式中狀態動態改變的控制項定義屬性,即相當於在storyboard中的建立UIOutlet步驟
- @property (nonatomic, strong) UILabel *noLabel;
- 2. 建立屬性對應的控制項,添加到視圖
- 執行個體化控制項(為控制項指定各種屬性)
- 將執行個體化的控制項添加到view中
- UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, 320, 40)];
- label.text = @"1/5";
- label.textAlignment = NSTextAlignmentCenter;
- [self.view addSubview:label];
- 為有屬性的控制項分配屬性:
- self.noLabel = label;
- 3.建立按鍵點擊時產生的動作(即建立方法)
- 4.監聽按鈕的點擊事件
- [rightBtn addTarget:self action:@selector(rightClick) forControlEvents:UIControlEventTouchUpInside];
-
-