IOS开发心得汇总
来源:互联网 发布:阿菲金软件配置 编辑:程序博客网 时间:2024/06/05 20:07
1.IOS在做UI布局适配时,如果View固定不滑动,高度和宽度最好用比例来设定;如果是一个可滑动View,高度和宽度的尺寸尽量用固定的。
2.removeFromSuperview,就是一个节点删除的操作,执行这个方法,就等于在树形结构中找到该节点,从树型数据结构中删除该节点及其子节点,而并非只是删除该节点自己。同时,另一个操作就是把该对象从响应者链中移除。
执行removeFromSuperview方法,只是该视图不在屏幕中显示,并没有将该视图从内存中移除。所以我们如果需要使用该视图,不需要再次创建,而是直接addSubview就可以了。
3.设置UIButton上Title的对齐方式,button.contentHorizontalAlignment =UIControlContentHorizontalAlignmentRight;
4.内容复制:UIPasteboard *pboard = [UIPasteboard generalPasteboard];
5.在UIWindow上加控件的时候,要在控制器的viewDidAppear方法的调用或者之后添加。原因:如果在viewDidAppear之前加,此时View还没被添加到UIWindow上,控件会先加到Window上,控制器的View在viewDidAppear方法里才被加到Window上,就会造成如下层级结构:UIWindow(底层)——控件(中间层)——当前控制器View(最上层),控件会被控制器的View挡住。
6.设置透明的navgationBar:可以设置navgationBar的setBackgroundImage为一张透明的图片并将shadowImage(navigationBar下的那条线)设置成[UIImage new],同时设置延伸区域self.edgesForExtendedLayout =UIRectEdgeAll(底部控件从(0.0)开始)UIRectEdgeNone(底部控件从navigationBar底部开始)。
7.在xib中给UILabel添加约束时,如果不设置高度或者宽度相等同自适应,根据实际字数确定长度、高度。
8.LauchScreen中的UIImageView上的图片在模拟器上显示,真机不显示。解决方法:尝试重启一下手机,原因:app第一次启动时系统会截取第一次启动图的快照存到沙盒中,之后启动会直接去沙盒中加载这种图片作为启动图。
9.设置UITableView的headerView或footView的高度为0无效,设置成0.01可实现。
10.initWithNibName方法:是延迟加载,这个View上的控件是 nil的,只有到需要显示时,才会不是 nil 。
loadNibNamed方法:即时加载,用该方法加载的xib对象中的各个元素都已经存在。
11.UIButton上自带两个控件,一个UIImageView,一个UILabel,自定义的时候可修改这两个控件的位置,给Button的setImage就是给自带的imageView添加图片,赋值的时候需要设置forState,否则不显示。
12.xib创建的控制器,在ViewDidLoad方法里调用self.View.bounds不会自动适配,尺寸还是xib里的尺寸,如果需要设置tableView的headerView,headerView的尺寸也需要重新设置。
13.点语法的setter方法里不能再调用self.xxx,会导致无限调用setter方法,造成死循环。
14.ios8后程序每次运行都会修改沙盒路径,但系统会把旧路径的内容移到新路径里。
15.继承一个有xib文件的父类控制器,初始化时要用:
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
self = [super initWithNibName:NSStringFromClass([self.superclass class])bundle:nibBundleOrNil];
return self;
}
16.避免UITableView和UICollectionView的Cell显示错乱, [cell.contentView.subviewsmakeObjectsPerformSelector:@selector(removeFromSuperview)];- IOS开发心得汇总
- iOS开发心得一则
- IOS开发心得总结
- iOS开发心得分享
- ios开发心得之一
- iOS开发自学心得
- IOS开发资源汇总
- ios开发资源汇总
- IOS开发问题汇总
- IOS开发问题汇总
- ios开发知识点汇总
- ios开发资源汇总
- IOS开发网站汇总
- iOS开发资源汇总
- iOS开发资源汇总
- IOS开发错误汇总
- iOS开发资源汇总
- IOS 开发资源汇总
- 5.1.1 主要的结构体--SMTPD_STATE
- cc2540 实战1
- 浅谈PHP单引号和双引号的区别
- enum class type 和enum type 的区别
- CSS引用方式
- IOS开发心得汇总
- C#+vs2013+windows10配置emgu技巧
- ios 之 autoresizing小解
- Smobiler实现类似朋友圈功能—MicroBlog控件(开发日志十七)
- 在CollectionView添加头部视图
- 如何进行shell脚本正确性测试
- socket编程——一个简单的例子
- OpenCV Haar AdaBoost源码改进(比EMCV快6倍)
- RabbitMQ消息队列(五):Routing 消息路由