渐变动画/按钮/图片拉伸/copy/KVC/KVO
来源:互联网 发布:汉高薪资待遇 知乎 编辑:程序博客网 时间:2024/05/20 01:11
渐变动画
- 方式1:头尾式
[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:2.0];/* 需要执行动画的代码 */[UIView commitAnimations];
- 方式2:block式
[UIView animateWithDuration:2.0 delay:1.0 options:kNilOptions animations:^{ /* 需要执行动画的代码 */} completion:nil]// 1s后,再执行动画(动画持续2s)
按钮
- 自定义按钮:调整内部子控件的frame
- 方式1:实现titleRectForContentRect:和imageRectForContentRect:方法,分别返回titleLabel和imageView的frame
- 方式2:在layoutSubviews方法中设置
- 内边距
// 设置按钮内容的内边距(影响到imageView和titleLabel)@property(nonatomic) UIEdgeInsets contentEdgeInsets;// 设置titleLabel的内边距(影响到titleLabel)@property(nonatomic) UIEdgeInsets titleEdgeInsets;// 设置imageView的内边距(影响到imageView)@property(nonatomic) UIEdgeInsets imageEdgeInsets;
图片拉伸
- iOS5之前
// 只拉伸中间的1x1区域- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight;
- iOS5开始
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode;
拷贝
- 实现拷贝的方法有2个
- copy:返回不可变副本
- mutableCopy:返回可变副本
- 普通对象实现拷贝的步骤
- 遵守NSCopying协议
- 实现-copyWithZone:方法
- 创建新对象
- 给新对象的属性赋值
KVC
- 全称:Key Value Coding(键值编码)
- 赋值
// 能修改私有成员变量- (void)setValue:(id)value forKey:(NSString *)key;- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues;
- 取值
// 能取得私有成员变量的值- (id)valueForKey:(NSString *)key;- (id)valueForKeyPath:(NSString *)keyPath;- (NSDictionary *)dictionaryWithValuesForKeys:(NSArray *)keys;
KVO
- 全称:Key Value Observing(键值监听)
- 作用:监听模型的属性值改变
- 步骤
- 添加监听器
objc
// 利用b对象来监听a对象name属性的改变
[a addObserver:b forKeyPath:@"name" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew context:@"test"]; - 在监听器中实现监听方法
objc
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"%@ %@ %@ %@", object, keyPath, change, context);
}
- 添加监听器
0 0
- 渐变动画、图片拉伸、copy、按钮、kvc、kvo
- 渐变动画/按钮/图片拉伸/copy/KVC/KVO
- iOS中的copy ,kvc,kvo
- iOS中的copy ,kvc,kvo
- ios学习笔记-05-渐变动画和button布局和kvc-kvo
- 按钮上拉伸图片
- 平铺文理+拉伸按钮图片
- KVC、KVO
- KVO/KVC
- kvc 、kvo
- KVO/KVC
- KVC/KVO
- KVO/KVC
- KVC、KVO
- KVO/KVC
- KVO/KVC
- KVO/KVC
- KVC/KVO
- ssh登录报错-bash: fork: retry: Resource temporarily unavailable
- Linux下Redis开机自启(Centos)
- Bootstrap 3 + MVC 5 - validation css tips
- 灾难的一天:“SSL_connect SYSCALL”和“the scheme https does not accept registry part”两种错误
- IOS开发记录(一)
- 渐变动画/按钮/图片拉伸/copy/KVC/KVO
- POJ 1426 Find The Multiple
- 徒步一千里 (1930) (長津惠山)
- golang---利用反射机制对结构体进行循环赋值
- POJ 2243 Knight Moves
- Sqoop_1. 基本架构及数据操作 -- 待完善
- POJ 3620 Avoid The Lakes
- 【Leetcode】Search a 2D Matrix
- 一些笔记