UIButton
UIButton->UIControl->UIView
-
狀態(tài)
- normal(普通狀態(tài)) 默認情況
- highlighted(高亮狀態(tài))
- disabled(失效狀態(tài),不可用狀態(tài))
State Config
-
type狀態(tài)
背景色不能分狀態(tài)設(shè)置 背景圖片可以
只有圖片或文字的時候 都是居中的 兩者都存在 默認是圖片在左,文字在右
代碼實現(xiàn)
-
buttonType
和titleLabel
屬性是readonly
的 不能改 只能獲取 -
initWithFrame:
方法創(chuàng)建出來的Button是Custom; -
buttonWithType
創(chuàng)建按鈕并設(shè)置類型
Storyboard到代碼的轉(zhuǎn)換
Storyboard其實是由xml代碼實現(xiàn)
綜合練習-購物車
購物車效果圖
購物車三維圖
購物車三維圖文件結(jié)構(gòu)
位置規(guī)律分析
代碼實現(xiàn)思路
求出當前視圖的X和Y值
- 當前索引
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);
-
當前索引所在 行號 列號
NSInteger rows = currentIndex / lie;
```objc
NSInteger cols = currentIndex % lie;
-
計算當前索引的 X 和 Y 值
CGFloat shopViewX = (marginX + shopViewW) * cols;
```objc
CGFloat shopViewY = (marginY + shopViewH) * rows;`
判斷按鈕是否可點擊
-
增加按鈕方法里實現(xiàn)
說明: 點擊了add按鈕就有商品,也就是說remove按鈕就可以點擊了
self.removeBtn.enabled = YES;
- `說明:當購物車滿了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;