UIButton的運用

UIButton的運用

本節知識點:

  1. UIButton的基本用法
  2. UIButton的代碼創建

1. UIButton的基本用法

  • 按鈕既能顯示文字,又能顯示圖片
  • 可以改變位置
  • type屬性

    • 知識點:Detail Disclosure/info Light/info Dark長一樣(iOS7以前不一樣,扁平化以後都一樣,殘留的東西)
  • 自定義按鈕

    • type自動改成了custom
  • 按鈕的狀態

    • 高亮狀態:改變文字和圖片、背景圖片(區別系統自帶效果)
  • 拖線打印,引出disable Enable的屬性變爲NO

    • 設置disable狀態下的文字
    • 改變文字
    • 通過代碼改變按鈕的狀態

2. UIButton的代碼創建

  • 代碼創建

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    //等價 UIButton *btn = [[UIButton alloc] init];
  • 創建一個按鈕

    • 圖片、背景圖片、標題、標題顏色和設置尺寸
  • 監聽按鈕點擊

    • 只要按鈕觸發了UIControlEventTouchUpInside事件,就會調用self對象的buttonClick方法
    [btn addTarget:self action:@selector(buttonClick) forCOntrolEvents:UIControlEventTouchUpInside];
  • 按鈕、lable、UIImageView的區別

    • UIButton

      1. 既能顯示文字,又能顯示圖片(能顯示2張圖片,背景圖片、內容圖片)
      2. 長按高亮的時候可以切換圖片\文字
      3. 直接通過addTarget…方法監聽點擊
    • UIImageView

      能顯示圖片,不能直接通過addTarget…方法監聽點擊

    • UILabel

      能顯示文字,不能直接通過addTarget…方法監聽點擊

  • 調用帶參數的方法

    //誰調用參數傳的就是誰,這裏btn調用所以buttonClick:(參數){}傳的就是btn  
    [btn addTarget:self action:@selector(buttonClick:) forCOntrolEvents:UIControlEventTouchUpInside]; 
  • 示例

    // 1. 創建按鈕
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    //    UIButton *button = [[UIButton alloc]init];// 和上面一行代碼等價
    
    //    注意:按鈕創建好之後,按鈕的類型是不可以被修改
    //    button.buttonType = UIButtonTypeCustom ; // 錯誤寫法,系統會報錯
    
    // 2. 設置位置尺寸
    button.frame = CGRectMake(100, 200, 200, 50);
    
    // 3. 設置文字
    // 3.1 常態的文字
    [button setTitle:@"我是按鈕" forState:UIControlStateNormal];
    // 3.2 高亮狀態的文字
    [button setTitle:@"我是高亮按鈕" forState:UIControlStateHighlighted];
    
    // 4. 設置字體顏色
    // 4.1 常態的字體顏色
    [button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
    // 4.2 高亮狀態的字體顏色
    [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
    
    // 4. 設置圖片
    // 4.1 常態下的圖片
    [button setImage:[UIImage imageNamed:@"like"] forState:UIControlStateNormal];
    // 4.2 高亮下的圖片
    [button setImage:[UIImage imageNamed:@"like_pressed"] forState:UIControlStateHighlighted];
    
    // 5. 設置背景圖片
    // 5.1 常態下的背景圖
    [button setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
    // 5.2 高亮下的背景圖
    [button setBackgroundImage:[UIImage imageNamed:@"buttongreen_hightlighted"] forState:UIControlStateHighlighted];
    
    // 6. 設置按鈕點擊狀態, 默認就是YES ,NO 狀態是不可點擊
    button.enabled = YES;
    
    // 7. 將按鈕添加入控制器view中
    [self.view addSubview:button];
    
    // 8. 監聽按鈕點擊事件
    [button addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章