UIButton
UIButton->UIControl->UIView
-
状态
- normal(普通状态) 默认情况
- highlighted(高亮状态)
- disabled(失效状态,不可用状态)
-
State Config
-
type类型type状态
-
背景色不能分状态设置 背景图片可以
-
只有图片或文字的时候 都是居中的 两者都存在 默认是图片在左,文字在右
代码实现
-
buttonType
和titleLabel
属性是readonly
的 不能改 只能获取 -
initWithFrame:
方法创建出来的Button是Custom; -
buttonWithType
创建按钮并设置类型
按钮监听方法
三者特点 三者使用情况
Storyboard到代码的转换
Storyboard其实是由xml代码实现
综合练习-购物车
购物车效果图
购物车三维图
购物车三维图文件结构
位置规律分析
位置规律分析
位置规律分析
代码实现思路
求出当前视图的X和Y值
- 当前索引
NSInteger currentIndex = self.shopCarView.subviews.count ;
- 水平间距和垂直间距 [lie]列数 [hang]行数
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;`
判断按钮是否可点击
-
增加按钮方法里实现
说明: 点击了add按钮就有商品,也就是说remove按钮就可以点击了
self.removeBtn.enabled = YES;
- `说明:当购物车满了6个商品的时候,add按钮不能点击` - ```objc self.addBtn.enabled = self.shopCarView.subviews.count < 6;
-
删除按钮方法里实现
说明: 点击了remove 按钮就是说明至少有一个商品被删了,有多余的位置add按钮就可以点击了
self.addBtn.enabled = YES;
- `说明: 有商品在购物车才能点击` - ```objc self.removeBtn.enabled = self.shopCarView.subviews.count > 0;
网友评论