美文网首页
使用Xcode9 创建项目出现的问题(Safe Area Lay

使用Xcode9 创建项目出现的问题(Safe Area Lay

作者: 跬步千里_LenSky | 来源:发表于2017-10-08 13:09 被阅读125次

    Xcode9新建个新项目,结果一运行直接报错

    苹果爸爸在苹果在iOS7中引入的Top Layout Guide和Bottom Layout Guide,这些布局指南在iOS 11中被弃用,取而代之的是Safe Area Layout Guide.

    针对新特性,解决方案如下

    第一步、在项目报错地方打开右边工具栏找到如图位置选中View Controller,去掉Use Safe Area Layout Guides

    第二步、切换到Main.storyboard文件,重读第一步操作打开右边工具栏找到如图位置选中View Controller,去掉Use Safe Area Layout Guides

    来源

    在屏幕适配上的问题 iPhone X的特殊待遇

    #define KStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height

    #define KNavBarHeight 44.0

    #define KTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)

    //iphone x

    #define KTopHeight (KStatusBarHeight + KNavBarHeight)

    屏幕适配中的宏定义在下面记录一下

    #define scaleX [UIScreen mainScreen].bounds.size.width/375.0f

    #define scaleY [UIScreen mainScreen].bounds.size.height/667.0f

    长期使用的若引用

    #define WS(weakSelf) __weak typeof(self) weakSelf = self

    #define SS(ss) __strong typeof(self)ss = self

    iOS 11 UIScrollView的新特性(automaticallyAdjustsScrollViewInsets 不起作用了)

    if (@available(iOS 11.0, *)) {

    Scrollview.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    } else {

    self.automaticallyAdjustsScrollViewInsets = YES;

    2017-10-20

    在iOS 11的我们之前使用的 Grouped 类型的tableView 返回高度不写返回 sectionHeader 和 sectionFooter 的代理的时候 返回 区头和区尾高度的 代理都不会走 

    解决方法是一定要有返回  return nil  就会走

    //在刷新整个TableView  的时候出现了很奇葩的事情

    整个TableView  不会停留在原有的位置了 来回跳动---苦恼的问题😢 原来还是 iOS11 退出的预估高度的问题 而且 使用mj 刷新  设置上拉加载更多的时候我的个乖乖 调用 了好几次上拉的方法  郁闷的要死。。。。。

    解决办法 (感谢朋友们的帮助!!!)

    if (@available(iOS 11.0, *)) {

    UITableView.appearance.estimatedRowHeight = 0;

    UITableView.appearance.estimatedSectionFooterHeight = 0;

    UITableView.appearance.estimatedSectionHeaderHeight = 0;

    _myTableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    } else {

    self.automaticallyAdjustsScrollViewInsets = NO;

    }

    当CollectionView 内容不超过控件本身高度 不能滚动 设置一下就行

    self.collectionView.alwaysBounceVertical = YES        

    正则判断 谓词过滤

    NSString *pattern = @"^[0-9a-zA-Z\u4E00-\u9FA5\\d]*$";

        NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];

        BOOL isMatch = [pred evaluateWithObject:str];

    //看到公司以前项目中有的一个功能 就找了一下 如何打开QQ到指定QQ好聊天

    这里主要是记录项目中的一个需求,闲着没事就把它记录下来,以供有需要的朋友们;

    我们一般用webview加载,所以主要的是设置在它的跳转路径上;

    这里有两个路径,介绍分别如下;

    1. mqq://im/chat?chat_type=wpa&uin=好友QQ号&version=1&src_type=web;

    这个路径是在iOS10.0上测试是有效的,直接提示是否打开QQ,并在用户允许的情况下跳转到指定的好友并与之进行聊天;

    2. https://wpa.qq.com/msgrd?v=3&uin=好友QQ号&site=qq&nemu=YES;

    这个路径的跳转就不尽人意了,不管是否有QQ,都先要到App Store的QQ下载页面,如果手机有QQ那么直接打开,反之下载,并且不会打开你指定的联系人聊天界面;

    3. 如果想打开QQ公众号进行聊天的话,直接通过上面的方法是行不通的,那么只有曲线救国;通过打开Safari打开就能实现这个功能了;

    ``` 

    上传APPStore 出现问题

    原因是因为Mac的Java版本更新导致

    解决办法

    在终端执行下面三条指令:

    1、cd ~

    2、mv .itmstransporter/ .old_itmstransporter/

    3、"/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"

    终端执行完毕,重现打开xcode打包上传就可以了

    注意:

    一定要等第三条命令执行完毕才可以哦!

    作者:永不止步的程序员

    链接:https://www.jianshu.com/p/80d0e873493f

    來源:简书

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    ```

    相关文章

      网友评论

          本文标题:使用Xcode9 创建项目出现的问题(Safe Area Lay

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