iOS开发中 经常遇到的坑
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加我好友私聊我上传视频教程,有什么不懂的也可以来私聊问我。
不定时更新中。
如果你能明白这些视频资料的好差,那么你也算是入行了,底层和中高层就是这一步之差。