延后执行:performSelector withObject afterDelay
imageNamed内存不释放(赋值时自动retain)
imageWithContentOfFile置为nil时释放内存(赋值时不retain)
self.imageView.animationImages=nil引用数清零后也能清理内存
毛玻璃效果:imageView加载图片上addSubview,subview为toolbar,toolbar设置透明度
颜色处理(生成UIColor对象):[UIColor colorWithRed:(243/255.0) Green:(243/255.0) Blue:(243/255.0)]
NSString *path=【NSBundle mainBundle】pathForResource:@“mysong1.mp3” ofType: nil]
NSUrl *url=[NSUrl fileWithPath:path] weak引用计数不加一(快捷方式)
strong引用计数加一(硬链接)
ios为ARC架构
button的文字设置需要用setTitle forState,不能直接修改titleLabel属性
取最后一个子组件[.subViews lastObject]
初始化数组使用@:
NSArray<NSDictionay *> *dataArr =@[
@{@"name":@"aaaa1",@"icon":@"aaaaa1.png"},
@{@"name":@"aaaa2",@"icon":@"aaaaa2.png"},
@{@"name":@"aaaa3",@"height":@3.0},
@{@"name":@"aaaa4",@"icon":@"aaaaa4.png"},
@{@"name":@"aaaa5",@"icon":@"aaaaa5.png"}
];
调试:
po NSHomeDirectory()
自定义控件:
1、继承UIView
2、实现init方法(不要传宽高)
3、实现layoutSubviews方法
在layoutSubviews方法里一定要调用一次[super layoutSubviews]
在layoutSubviews方法里通过
self.frame.size.with,self.frame.size.height获得整体宽度和高度
在layoutSubviews方法中设置子组件的宽度和高度
新建button 必须使用[UIButton buttonWithType:]方法新建
1、在initWithFrame方法中添加子控件,提供便利构造方法
2、在layoutSubviews方法中设置子控件的frame(一定要调用[super layoutSubviews])
3、增加模型属性
Xib的加载:
UIView *carView =【[[NSBundle mainBundle] loadNibNamed:@"xib文件名" owner:nil options:nil】firstObject
方式二
UINib *nib =[UINib nibWithNibName:@"" bundle:nil];
UIView *carview =[[nib instantiateWithOwner:nil options:nil]firstObject]
xib可以指定对应的View类
xib不可以通过alloc init方式创建对象,只能通过以上两种方式创建
重写initWithCoder方法实现初始化
受保护拉伸图片:
image stretchableImageWithLeftCapWidth:imageWidth*0.5 topCapHeight: imageHeight*0.5
右侧自动计算:width - leftCapWidth - 1
底部自动计算