IOS开发心得汇总

19 篇文章 0 订阅
5 篇文章 1 订阅

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 . subviews makeObjectsPerformSelector : @selector (removeFromSuperview)];





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值