第三天總結(jié)

UIButton

UIButton->UIControl->UIView

  • 狀態(tài)

    • normal(普通狀態(tài)) 默認(rèn)情況
    • highlighted(高亮狀態(tài))
    • disabled(失效狀態(tài),不可用狀態(tài))
  • State Config

  • type狀態(tài)

    type類型

  • 背景色不能分狀態(tài)設(shè)置 背景圖片可以

  • 只有圖片或文字的時候 都是居中的 兩者都存在 默認(rèn)是圖片在左,文字在右

代碼實現(xiàn)
  • buttonTypetitleLabel 屬性是readonly的 不能改 只能獲取
  • initWithFrame:方法創(chuàng)建出來的Button是Custom;
  • buttonWithType 創(chuàng)建按鈕并設(shè)置類型
    按鈕監(jiān)聽方法

三者特點
三者使用情況
Storyboard到代碼的轉(zhuǎn)換
  • Storyboard其實是由xml代碼實現(xiàn)

綜合練習(xí)-購物車

購物車效果圖

購物車

購物車三維圖

購物車三維圖

購物車三維圖文件結(jié)構(gòu)

購物車三維圖文件結(jié)構(gòu)

位置規(guī)律分析

位置規(guī)律分析

位置規(guī)律分析

代碼實現(xiàn)思路

求出當(dāng)前視圖的X和Y值

  • 當(dāng)前索引
NSInteger currentIndex = self.shopCarView.subviews.count ;
  • 水平間距和垂直間距 [lie]列數(shù) [hang]行數(shù)
CGFloat marginX = (shopCarViewW - lie * shopViewW) / (lie - 1);```
  
```objc 
CGFloat marginY = (shopCarViewH - hang * shopViewH) / (hang - 1);
  • 當(dāng)前索引所在 行號 列號

     NSInteger rows = currentIndex / lie;
    
```objc 
  NSInteger cols = currentIndex % lie;
  • 計算當(dāng)前索引的 X 和 Y 值

    CGFloat shopViewX = (marginX + shopViewW) * cols;
    
 ```objc
 CGFloat shopViewY = (marginY + shopViewH) * rows;`

判斷按鈕是否可點擊

  • 增加按鈕方法里實現(xiàn)

    • 說明: 點擊了add按鈕就有商品,也就是說remove按鈕就可以點擊了

    self.removeBtn.enabled = YES;

    -  `說明:當(dāng)購物車滿了6個商品的時候,add按鈕不能點擊`
    -  ```objc
    self.addBtn.enabled = self.shopCarView.subviews.count < 6;
    
  • 刪除按鈕方法里實現(xiàn)

    • 說明: 點擊了remove 按鈕就是說明至少有一個商品被刪了,有多余的位置add按鈕就可以點擊了

    self.addBtn.enabled = YES;

    -  `說明: 有商品在購物車才能點擊`
    -  ```objc
    self.removeBtn.enabled = self.shopCarView.subviews.count > 0;
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容