05-按鈕的基本使用-開發步驟

  • 從Xcode5開始,圖片資源都放到Images.xcassets中進行管理
  • 先添加必須的圖片到Images.xcassets中

調整界面尺寸

  • 因爲模擬器的默認尺寸是3.5inch,爲了不出現沒必要要的麻煩,最好將storyboard中的UI界面尺寸也調整爲3.5inch

添加4個方向按鈕和2個縮放按鈕

  • 拖拽按鈕到storyboard上
  • 設置按鈕的尺寸爲35x35

設置按鈕的背景圖片

  • 按鈕是有多種狀態的:
  1. normal(普通狀態):默認狀況, UIControlStateNormal
  2. highlighted(高亮狀態):按鈕被按下去的時候(手指還未鬆開), UIControlStateHighlighted
  • 設置按鈕在不一樣狀態下的背景圖片(爲了保證高亮的圖片正常顯示,必須設置按鈕的type爲custom)

設置頭像按鈕

  • 普通狀態:紅色文字「點我啊」
  • 高亮狀態:藍色文字「摸我幹嗎」

跟控制器創建聯繫

  • 經過修改控件的frame屬性就能夠修改控件在屏幕上的位置和尺寸
  • 好比點擊「向上」按鈕,讓按鈕的y值減少便可

  - (IBAction)top:(UIButton *)sender {ide

     CGRect btnFrame = self.headBtn.frame;佈局

     btnFrame.origin.y -= 10;code

     self.headBtn.frame = btnFrame;orm

  }對象

  • 下面代碼是錯誤的,OC語法規定:不容許直接修改對象的結構體屬性的成員

   self.headBtn.frame.origin.y -= 10;blog

去除autolayout

  • 若是發現經過代碼沒法修改控件的位置或者尺寸時,應該去掉storyboard裏面的autolayout功能,這是自iOS6開始出現的特性
  • 顧名思義,autolayout是用來自動佈局的,用來束縛控件的位置和尺寸。去掉這個功能,控件的位置和尺寸就再也不有一些固定的束縛。

代碼建立按鈕

  • 在開發過程當中,並非每次都經過storyboard拖控件完成UI界面,由於storyboard上面的界面是「固定死」的,有時候可能會在程序運行過程當中動態地添加一些新的控件到界面上
  • 好比QQ的聊天信息,是有人發出一條信息後才動態顯示出來的。所以,須要掌握如何用代碼動態地添加控件
  • 實際上,storyboard的本質就是根據圖形界面描述轉成相應的代碼
  • 下面演示用代碼建立按鈕

   // 1.建立一個自定義的按鈕圖片

  UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];資源

  // 2.添加按鈕開發

   [self.view addSubview:btn];get

  // 3.設置按鈕的位置和尺寸

  btn.frame = CGRectMake(100, 100, 100, 100);

  // 4.監聽按鈕點擊(點擊按鈕後就會調用self的btnClick方法)

  [btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];

  // 5.設置按鈕在默認狀態下的屬性

  // 5.1.默認狀態的背景

   [btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];

  // 5.2.默認狀態的文字

  [btn setTitle:@"點我啊" forState:UIControlStateNormal];

  // 5.3.默認狀態的文字顏色

   [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];   

  // 6.設置按鈕在高亮狀態下的屬性

  // 6.1.高亮狀態的背景

  [btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];

  // 6.2.高亮狀態的文字

  [btn setTitle:@"摸我幹啥" forState:UIControlStateHighlighted];

  // 6.3.高亮狀態的文字顏色

   [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

Storyboard到代碼的轉換

  // 建立一個自定義的按鈕

   UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

  // 默認狀態的背景

   [btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];

  // 默認狀態的文字

   [btn setTitle:@"點我啊" forState:UIControlStateNormal];

  // 默認狀態的文字顏色

   [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

相關文章
相關標籤/搜索