第三天总结

UIButton

UIButton->UIControl->UIView

  • 状态

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

  • type状态

    type类型

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

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

代码实现
  • buttonTypetitleLabel 属性是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;
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容