day11-購物車02-圓角按鈕處理

購物車01-搭建基本骨架


是什么?

思路:

  • 怎么將普通按鈕,改變為有圓角的按鈕?
    1. 直接叫美工,做圓角按鈕圖片。
    2. 自定義cell中,更改按鈕的'圓角半徑',從而達到此效果。
    3. 通過自定義按鈕的方式,達到此效果。
  • 自定義cell中,更改按鈕的'圓角半徑',達到圓形按鈕的效果.
    awakeFromNib
-(void)setCircleButton:(UIButton *) clickButton {
    clickButton.layer.borderWidth = 1; // 按鈕的邊框
    clickButton.layer.borderColor = [UIColor redColor].CGColor; // 按鈕邊框的顏色
    //按鈕圓角的半徑(當圓角半徑,為寬度的一半,就是一個圓)
    clickButton.layer.cornerRadius = self.plusButton.frame.size.width * 0.5;
}
//代碼為什么寫在awakeFromNib方法中?
//stroryboard里面的控件,是從awakeFromNib方法中加載出來得
//設置圓角,只需要設置一次就可以。
- (void)awakeFromNib {
    [super awakeFromNib];
    [self setCircleButton:self.plusButton]; //加號按鈕
    [self setCircleButton:self.minusButton];
}
  • 自定義按鈕方式

    • 創建繼承自UIButton的自定義按鈕
    • storyboard中將"按鈕的類型"設置為自定義按鈕的類
      這樣"自定義按鈕"才能跟storyboard關聯,才能使用"自定義按鈕"里面的方法。
    • 在自定義按鈕里,將按鈕設置為圓形。
       - (void)awakeFromNib
      {
        [super awakeFromNib];
        // 設置邊框寬度
        self.layer.borderWidth = 1;
        // 設置邊框顏色
        self.layer.borderColor = [UIColor redColor].CGColor;
        // 設置圓角半徑
        self.layer.cornerRadius = self.frame.size.width * 0.5;
        }
      
  • 為什么"邊框圓角半徑 = 按鈕寬度?? 0.5",就是圓形呢 ?

  • 為什么,推薦使用"自定義按鈕"的方法呢?

    • 自定義cell里面寫按鈕圓角的方法。是"cell 訪問內部的按鈕里面的屬性"
    • 自定義按鈕里面寫按鈕圓角的方法。是"直接訪問按鈕本身的屬性"
    • 根據就近原則,所以選擇"自定義按鈕"
    • 實現解耦和利于擴展。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。