iOS开发中 经常遇到的坑

作者: iOS开发攻城狮 | 来源:发表于2017-05-20 11:13 被阅读180次

    1.XCode8的项目在xcode7运行报错:


    有两种方法解决这个问题:

    1.你同事也升级Xcode8,比较推荐这种方式,应该迎接改变。

    2.右击XIB或SB文件 -> Open as -> Source Code,删除xml文件中下面一行字段。

    2.场景:tabbar左右pan手势切换,其中一个VC是UIPageViewController,这样会导致到pageView的时候不能切换tabbar,如何禁掉pageVC切换呢?

    出于UIPageViewController和UItableView等产生手势冲突,我们往往要禁用其翻页手势,代码如下:

    self.pageViewController.dataSource = nil;

    网络上搜到的重写手势等方法,亲测无效,所以给出这个最简单粗暴的方法。

    3.FMDB根据条件查询数据库出现的错误:


    解决办法:

    4.后台数据中出现空格特殊字符:

    问题:注意选项A...我竟然匹配不到这种字符, \r\n\t都不行

    方案:中文全角空格...你想说什么...我转了下...\u3000  已解决!

    5.浮点型取整问题:


    6.关于block传值及数据同步总结:

    A B C三个界面间C界面修改内容达到AB界面刷新最新的数据保持ABC数据同步:1.C到B可以用block回调传值 2.B界面到A界面只需在B界面Back的时候发出拉取数据并刷新cell即可解决数据不同步现象。

    .iOS8调用相机警告:

    错误代码:Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or

    snapshot after screen updates.

    IOS8多了一个样式UIModalPresentationOverCurrentContext,

    IOS8中 presentViewController时请将控制器的modalPresentationStyle设置为 UIModalPresentationOverCurrentContext,问题解决!!

    8.错误点:ENABLE_BITCODE错误设置(mrc下)

    解决方法:

    9.iOS headerview与tableview之间距离控制?


    10.cell 分割线不全:


    11.iOS7.0以后的UILabel会自动将Text行尾的空白字符全部去除,除了常见的半角空格(\0×20)和制表符(\t)之外,全角空格(\u3000)也被计算在内,甚至连多余的换行符(\r,\n)也被自动去除了。

    这一点虽然方便直接将控件赋值和无需取值后再trim,但是太过智能化了之后,往往不能满足一些本可以简单实现的需求。

    需求1.使用添加\n方式将上下文本连续空两行,即实现文本的2倍行距。

    iOS7.0之前解决办法:在每个换行符后面添加一个空格

    即如果要显示为:

    aaaaaaa

    空行

    空行

    bbbbbb

    使用以下格式进行文本赋值

    lbl.text = @"aaaaaaa\n\u0020\n\u0020bbbbbb";

    iOS7.0之后需要增加,不增加则无效

    lbl.numberOfLines = 0;// 0表示行数不固定

    lbl.lineBreakMode=UILineBreakModeWordWrap;//允许换行(可选)

    需求2.在所有的UILabel的text后增加一个空格,并使text右对齐。

    iOS7.0之前解决办法:直接在text后增加空格即可,即text在赋值前增加空格。

    lbl.text = [NSStringstringWithFormat:@"%@%@","aaaaa","\u0020"];

    iOS7.0之后需要重写UILabel的drawTextInRect方法,通过缩短默认文本绘制Rect的宽度半个字体宽度来实现。(当然也可以在底部铺一个view调整,暨简单又高效)

    具体实现代码如下:

    12.监听UITextField的text的变化:

    13.改变cell的选中颜色:


    14.旋转图片:


    15.UIView的exclusiveTouch属性:

    通过设置[self setExclusiveTouch:YES];

    可以达到同一界面上多个控件接受事件时的排他性,从而避免一些问题。

    16.当你使用 UISearchController 在 UITableView 中实现搜索条,在搜索框已经激活并推入新的 VC 的时候会发生搜索框重叠的情况:

    解决办法:那就是 definesPresentationContext 这个布尔值。

    17.画个曲线如何做呢?如图:


    18.有效解决刷新单个cell或者section闪一下的问题:

    19.保持imageView 图片不变形:

    20.Label后加小图标:

    21.状态栏字体颜色及背景颜色调整:

    22.xib加载不同尺寸的屏幕如何控制宽高?

    23.我的位置(强制获取):

    24.比如弹框上放了scrollowView第一次弹出需要裁剪,滑动时需要显示下面的内容:

    解决办法:让scrollowView的范围跟父视图同等高就解决了!

    25.去除多余cell不管用怎么办:


    26.判断页面消失或出现时是push还是pop操作:


    27.运行环境问题:



    上图为2017年最新的视频教程资料,搜索2352149755加我好友私聊我上传视频教程,有什么不懂的也可以来私聊问我。

    不定时更新中。

    如果你能明白这些视频资料的好差,那么你也算是入行了,底层和中高层就是这一步之差。

    相关文章

      网友评论

        本文标题:iOS开发中 经常遇到的坑

        本文链接:https://www.haomeiwen.com/subject/dbzuxxtx.html