zoukankan      html  css  js  c++  java
  • 李洪强原创博客01

    每周一篇原创博客  

    时间: 2017年10月30日--2017年11月3日

     iOS11适配的那些坑

    01 适配titleView

    iOS11 navigationItem.titleView 适配问题,最近由于Apple 更新了iOS 11版本,在系统升级之后,发现项目中之前适配好的titleView 发生了如下变化:

    iOS 11 之前

    iOS 11

    WTF?

    在iOS 11中titleView的宽度设置了没有效果,也没有拉伸展示,缩成一坨了。项目中有好多地方用到了titleView这个属性,怎么办?

    打开Xcode 查看视图层级功能,发现在iOS 11 中Apple 改变了UINavigationBar的视图层级,titleView不是加到NavigationBar上了,而是加到UINavigationBarContentView上

    那么怎么解决这个问题呢?

    在你自定义的titleView中重写intrinsicContentSize 的Get 方法,如下:

    - (CGSize)intrinsicContentSize

    {

    return UILayoutFittingExpandedSize;

    }

    然后再次运行项目,你会发现和之前的效果一样了。

    02  Xcode调试

    1.    手机连接上Xcode,打开Xcode菜单:Windows->Device and Simulators。找到连接上的设备,把Connect vianetwork选项打勾。

     

    之后Xcode将会转一会圈圈,耐心等待一会就成功了,此时拔掉数据线,可以看到左侧的设备连接列表上手机仍在。

    注意: 如果点击Connect via network时,出现如下弹框,  Passcode Required, The device musthave a passcode set in order to allow this operation (0xE8003FFE).

     

    可能手机未设置开机/锁屏密码导致,设置手机密码,然后再次点击Connect via network,可以正常连接,之后关掉手机密码后也可正常连接;

    2.    运行我们的项目,在设备列表中不出意外会看到我们的无线连接的手机。选择手机后运行;

     

    3.    如果此时是跑不起来的。还需要最后一步,回到刚刚的设备列表中,选中手机右键,在出来的选项卡中选择一个Connect via IP Address项。选择之后输入手机的局域网ip地址。

     

    完成后可以看到在连接的手机右边有一个地球连接标志,长这样:

     

    以后项目运行,在下拉列表如果手机在局域网中也会有这个标志:

     

    4.    最后一步,选择后直接运行,不出意外的话,项目无需数据线就跑起来了,

    另外:此方法是支持无线调试的,连一次以后就不需要数据线了了~

  • 相关阅读:
    转载:从git仓库中删除不必要的文件
    问题:Swiper父容器隐藏时实例化组件,组件滑动失效
    图片预加载
    移动端苹果手机:图片没有加载完成前,白色边框线是怎么来的
    bower 安装依赖提示 EINVRES Request to https://bower.herokuapp.com/packages/xxx failed with 502
    H5序列帧播放
    盟军敢死队
    二维游戏开发的点滴
    用c语言开发游戏 快乐的痛 笑着哭
    ibatis
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/7755794.html
Copyright © 2011-2022 走看看