IOS開發 UIView控制項

來源:互聯網
上載者:User

標籤: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];
  •  
  •  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.