IOS开发笔记之自己遇到的问题

记录下开发中遇到的一些比较烦人的小问题。(随时记录)


1.这个是使用xib定义控件后在代码中无法修改,而且使用代码来进行AutoLayout遇到麻烦。

        这个问题首先要检查你的xib中是否勾选Use AutoLayout选项了,如果勾选了,就无法在代码中修改控件的frame,同时给你在使用代码来进行控件的AutoLayout带来了麻烦。

2.这个是alloc UIViewController的时候遇到的问题,图节省代码。

        在alloc UIViewController的时候 直接

[self.navigationController pushViewController:[[MyFootPrintViewController alloc]initWithNibName:@"MyFootPrintViewController" bundle:nil] animated:YES];
没有分开来写,结果在alloc的时候,粗心MyFootPrintViewController写成了UIViewController,在MyFootPrintViewController各种调试,不进viewdidload方法,最后被同事各种鄙视。

3.这个是使用FMDatabase创建数据库不成功。也是自己粗心...

        在使用FMDatabase创建数据库的时候各种不成功,最后发现是自己的路径问题。把NSDocumentDirectory写成了NSDocumentationDirectory,没有这个文件夹,所有创建不成功。

/**
 *  获取数据库的路径
 *
 *  @return 数据库路径
 */
- (NSString *)getDBPath{
    
    NSString * docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    
    return [docPath stringByAppendingPathComponent:DBName];
}

4.这个是在做类似微信发朋友圈的图片功能遇到的,不能给不同的view添加同一个手势。

        给不同的view添加同一个手势,经测试无效。

[_img_First addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(chooseImage)]];
[_img_Second addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(chooseImage)]];

5.这个是在弄UITableView的时候发生的偏移。

        经过测试,在IOS7以后,如果UIScrollView是super view第一个子view时,系统会自己添加偏移量,如果不想要偏移,取巧的解决办法就是添加一个空白的view在UIScrollView的前面。UITableView和UICollectionView都是UIScrollView的子类,也适用。

6.在做UICollectionView的下拉刷新时候遇到的不能下拉的问题。

        在给UICollectionView添加下拉刷新控件的时候,遇到了无法下拉的情况,各种烦躁,最后一个同事提醒,UICollcetionView默认数据不满一屏是不可以滑动的,如果需要滑动,需要添加

    self.cl_MyPhoto.alwaysBounceVertical = YES;

7.在做UILable自适应文字遇到的问题

         在做UILable自适应的时候遇到一个显示不全的问题,通过sizewithfont计算得出的高度,有些系统版本显示少一行,是因为不同的系统这个计算方法得出的size.height小数点不同,对size.height做一个ceil(size.height)就可以解决这个问题。       

8.在使用第三方下拉刷新库SVPullToRefresh时遇到只刷新一次的问题

         在给UITableView添加下拉刷新和上拉加载使用SVPullToRefresh的时候遇到只刷新一次,各种纠结,因为已经给UICollectionView添加过,也没问题,为什么这个就只刷新一次??? 最后发现,SVPullToRefresh必须在一次刷新结束后添加stopAnimating。

    [_tb_NearPoi.infiniteScrollingView stopAnimating];

9.做NSUserDefault时判断某个key是否存在的时候

         在判断NSUserDefault中某个key是否存在的时候,通过下面的方法获取全部的key,是一个NSArray,再判断NSArray中是否有这个key。

[NSUserDefaults standardUserDefaults].dictionaryRepresentation.allKeys

10.FMDatabase使用插入bool类型的数据

        FMDatabase插入数据时需要保证是NSObject类型,所以插入bool类型的时候需要转换为NSNumber类型。

footPrint.isSync?@1:@0



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值