UI基础-day02-Shopping-01搭建商城基本框架
UI基础-day02-Shopping-02添加一个商品
UI基础-day02-Shopping-03九宫格排序
UI基础-day02-Shopping-04优化添加和删除功能
UI基础-day02-Shopping-05加载数据
UI基础-day02-Shopping-06懒加载-1基础
UI基础-day03-Shopping-06懒加载-2Plist文件读取
UI基础-day03-Shopping-06懒加载-3字典转模型
UI基础-day04-Shopping-07自定义控件-01设置子控件的frame
UI基础-day04-Shopping-07自定义控件-02加载数据
UI基础-day04-Shopping-07自定义控件-03初始化和类方法
UI基础-day04-Shopping-08Xib-01基本使用
UI基础-day04-Shopping-08Xib-02简单的加载数据
UI基础-day04-Shopping-08Xib-03Tag值方式加载数据
UI基础-day04-Shopping-08Xib-04自定义Xib控件
UI基础-day04-Shopping-08Xib-05自定义Xib控件-优化
UI基础-day04-Shopping-08Xib-06Xib使用注意
UI基础-day05-Shopping-08Xib-07转换为代码的分析
UI基础-day05-Shopping-08Xib-08回顾Xib自定义类
UI基础-day05-Shopping-08Xib-09商品的增加和删除功能
需求:
- 当点击➕按钮,达到最大商品数量时,出现个弹框,显示"已达到商品的最大数量!"的温馨提示.
- 显示的弹出框,背景是全透明得(能够看清后面的商品),文字不透明.
思路:
- 要有个存放信息的label.
- 这个label跟展示的view是同级别得.
因为,删除商品的功能,是通过获取展示View里面的最后一个子控件,来实现删除得.
所以,如果温馨提示的label,放在展示VIew里面,就成为了它的子控件,点击✘按钮就可以删除温馨提示的label. - 开始这个lable是隐藏得,达到某种条件后,它才是显示得.
效果图
代码
采用block动画叠加的方式,来实现'温馨提示'的渐入渐出的效果.
block动画讲解
....
-(void)shopPrompt:(NSString *)prompt{
[UIView animateWithDuration:2 animations:^{//渐入
self.labInfo.alpha = 0.5; //文字和背景的透明度都为0.5
self.labInfo.text = prompt;
//所有颜色都是由三原色(红,绿,蓝)组成得!
self.labInfo.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0];
}completion:^(BOOL finished) {//block动画叠加-实现渐出
[UIView animateWithDuration:2 delay:1 options:kNilOptions animations:^{
self.labInfo.alpha = 0;
}completion:nil];
}];
}
....
注意
- hidden 和 alpha都可以实现显示和隐藏,这里为什么选择alpha?
- hidden (=NO显示, =Yes隐藏),不可做渐变动画.
hidden是BOOL类型,没有数值之间的持续变化 - alpha = (0=透明, 1=显示), 可做渐变动画!
alpha是CGFloat类型,是有数值之间的持续变化(如: 0.1, 0.2, 0.3, 0.4....)
- +colorWithRed:green:blue:alpha: 实现背景颜色透明?
-
所有颜色都是由三原色组成得(红,绿,蓝)
如: blackColor = (red:0, green:0, blue:0)
darkGrayColor = (red:0.333, green:0.333, blue:0.333)
redColor = (red:1.0, green:0, blue:0)
brownColor = (red:0.6, green:0.4, blue:0.2)
- alpha = (0=透明, 1=显示)