工作中遇到问题,找到了相应的解决办法,收藏以备不时之需~

1、baseline

  • 崩溃信息:
    'Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil'
  • 原因
    因为偷懒使用了reset to suggested constraints, autolayout 帮我自动加了baseline的constraints,而baseline只有iOS8以后才有,兼容iOS7就崩溃了,直接移除baseline相关的constraint即可。
  • 参考链接
    http://stackoverflow.com/questions/26024906/unable-to-create-description-in-descriptionforlayoutattribute-layoutitem-coeffi/26045383#26045383

2、[[UINavigationBar appearance] setTranslucent:NO]

  • 崩溃信息

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'
  • 原因
    iOS8.0之后[UINavigationBar appearance]才可以setTranslucent,兼容iOS7需要添加判断

    if(IOS8_OR_LATER && [UINavigationBar conformsToProtocol:@protocol(UIAppearanceContainer)]) {[[UINavigationBar appearance] setTranslucent:NO];}
  • 参考链接
    http://stackoverflow.com/questions/19125468/why-does-uinavigationbar-appearance-settranslucentno-crash-my-app

3、storyboard segue show

  • 异常现象

    sb里segue使用show

    在iOS8下是正常push的

iOS7下变成从底部推出的,而且没有navigation

  • 原因
    在iOS7下如果没有设置navigationController为initController,show会自动将push转换成modal。简而言之就是在sb里每个show的segue,必须保证它的初始位置有个navigationController。
  • 参考链接
    http://stackoverflow.com/questions/25633739/could-not-instantiate-class-named-uistoryboardshowseguetemplate-how-can-i-ma

4、constrain to margin

  • 异常现象

    使用tableview顶部会出现不正常的空白

  • 原因
    这是设置了constrain to margins的关系,这玩意也是iOS8后才有的,把这个钩去掉,就OK了

5、 imageFromBundle
在iOS8下,下面这段代码是没有问题的。

+ (UIImage *)imagesNamed:(NSString *)name fromBundle:(NSString *)bundleName
{NSString *main_images_dir_path = [[[NSBundle mainBundle] resourcePath] stringByAppendingFormat:@"/%@.bundle",bundleName];NSString *image_path = [main_images_dir_path stringByAppendingPathComponent:name];return [UIImage imageWithContentsOfFile:image_path];
}

而在iOS7下,返回的UIImage是nil。原因是在iOS7下,必须要加上.png或者@2x.png,否则[UIImage imageWithContentsOfFile:image_path]是无法争取找到文件路径的。

文/千煌89(简书作者)
原文链接:http://www.jianshu.com/p/be4d7cc3f175
向分享给大家的作者致谢!

Tips 兼容iOS7的几个坑相关推荐

  1. Xcode 6.x 上开发APP 兼容 iOS7

    2019独角兽企业重金招聘Python工程师标准>>> Xcode 6.x 上开发的APP 可能会出现 : "Unable to create description in ...

  2. 计算机组装配置兼容,组装电脑常这些坑不要踩 电脑组装的误区

    DIY组装电脑简单说来就是把一堆硬件拼凑,组成一个完整的主机.而这其中.CPU.主板.显卡.内存等都是不太容出现问题的.一是由于产品规格严谨,二是产品数量丰富度不高,三是直接关系主机性能,更加被重视. ...

  3. iOS推送兼容iOS7

    最近在用iOS7调试时发现崩溃,原因出在了推送上.记录下来方便以后用到. // 宏定义判断是否是iOS8以后 #define iOS8 [[[UIDevice currentDevice]system ...

  4. uisearchbar中自定义 放大镜图标 placeolder字体颜色 文本框背景色 兼容ios7

    自定义searchbar,重写layoutSubviews就行了,只是ios7以下与IOS7获取UITextField的方法不同,下面是我测试通过的代码: -(void)layoutSubviews ...

  5. iOS之LCWebView(和并UIWebView和WKWebView,兼容iOS7及以上)

    一,说明 我的项目是从iOS7开始支持, 一直用UIWebView作为网页容器. 但是,为了更好的用户体验. 我将UIWebView和WKWebView封装合并成一个网页容器LCWebView. 下面 ...

  6. windows LSP 实现及多个lsp兼容安装的几个坑

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中使用LSP模块时碰到以下几个问题,在此总结下: 1.在64位系统中,针对32位程序和64位程序需要分别实现对应的LSP ...

  7. 清华专业学位硕士论文[word97-2003兼容版本]格式调整踩坑记录

    如何导入现有的word模板 采用插入->对象->文件中的文字选中需要插入的文档,将文档导入当前文档中 正文各个标题样式 先设置好格式,然后右键->样式->创建样式,更改名字即可 ...

  8. 2019年创业公司死亡全名单

    来源:软件定义世界(SDX) 2019年,创业公司太难了. "首富之子"王思聪的熊猫直播已在3月30日正式关闭了."自带流量"的罗永浩也在10月初将锤子科技旗下 ...

  9. 兼容低版本IE浏览器的一些技巧分享

    前言: 近期工作中,突然被要求改别人的代码,其中有一项就是兼容IE低版本浏览器,所以优雅降级吧. 我相信兼容低版本IE是许多前端开发的噩梦,尤其是改别人写的代码,更是痛不欲生. 本文将介绍一些本人兼容 ...

最新文章

  1. NFV技术本质是强调网络功能的软硬件同化能力,实现网络价值由硬件向软件的前移
  2. 500只产品汪周末齐聚宇宙中心五道口,这里发生了什么?
  3. html 手动添加thead,HTML表格 - 我可以在thead之前添加额外的tbody吗?
  4. 编程语言的发展趋势及未来方向(7):总结
  5. 什么是无线路由器网络协议?
  6. twisted系列教程八–延迟的诗
  7. struts2笔记06-ServletXxxAware接口
  8. css 三种颜色表示,css颜色表示法
  9. 小程序学习笔记(6)-菜谱小程序的制作
  10. 关于改进建议几个方面的有效实践
  11. matlab 求解发动机换算转速,简单一个公式,教你用发动机转速计算车速!
  12. [转载]每天早晨含姜片含出三大奇迹/姜的二十种食疗功/生姜克
  13. kubernetes挂载glusterfs遇到的问题
  14. UTC时间转北京时间
  15. Java 程序员 金三银四面试必备:高速突击学习框架 + 性能优化
  16. 电力电子相关论文英文单词积累
  17. java log写入txt文件_使用java.util.logging.Logger时如何在文本文件中写日志
  18. 《H3C交换机常用命令》——【华三交换机常用配置及维护命令技能】
  19. Spring Boot+JOOQ(五)进阶查询操作
  20. oracle检测数据表变化,Oracle 检查表的数据变动

热门文章

  1. 计算机网络网络应用专科自考科目,自考计算机网络难度大吗?计算机网络自考本科有哪些科目?...
  2. 【eps】将 png 图片转换为 eps,压缩 eps
  3. 汽车销售行业微信小程序策划方案分享
  4. 01背包问题-回溯法
  5. mysql 修改盘符
  6. EasyPermissions-- Android权限管理
  7. 如何完成符合ISO 26262要求的基于模型设计(MBD)的测试
  8. 大数据处理实践探索 ---- 笔试面试题:ElasticSearch
  9. 硬盘那些事(硬盘的分类)
  10. 微信小程序控制ESP8266WiFi继电器开关