第三天总结

UIButton

UIButton->UIControl->UIView

  • 状态

    • normal(普通状态) 默认情况
    • highlighted(高亮状态)
    • disabled(失效状态,不可用状态)
  • State Config

  • type状态

    type类型

  • 背景色不能分状态设置 背景图片可以

  • 只有图片或文字的时候 都是居中的 两者都存在 默认是图片在左,文字在右

代码实现
  • buttonTypetitleLabel 属性是readonly的 不能改 只能获取
  • initWithFrame:方法创建出来的Button是Custom;
  • buttonWithType 创建按钮并设置类型
    按钮监听方法

第三天总结_第1张图片
三者特点
第三天总结_第2张图片
三者使用情况
Storyboard到代码的转换
  • Storyboard其实是由xml代码实现

综合练习-购物车

购物车效果图

第三天总结_第3张图片
购物车

购物车三维图

第三天总结_第4张图片
购物车三维图

购物车三维图文件结构

第三天总结_第5张图片
购物车三维图文件结构

位置规律分析

第三天总结_第6张图片
位置规律分析

第三天总结_第7张图片
位置规律分析

代码实现思路

求出当前视图的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;
    

你可能感兴趣的:(第三天总结)