美文网首页
关于iOS11遇到的那些坑

关于iOS11遇到的那些坑

作者: 什么_呢 | 来源:发表于2018-01-25 10:51 被阅读0次

第一次写简书,不知道该怎么写,就自己在iOS11开发遇到的坑说一下(说明一下,我还是个菜鸟,有什么写得不对的欢迎提出来,共勉。。。)。

关于UIScrollView的一些坑

我在开发的时候遇到过(先说明一下,我的导航栏是系统导航栏),当从一个有scrollview的界面,简单来说,我的首页有一个tableview的列表,点击其中一个进入到内页,侧滑返回的时候发现内容是在往上移的,于是问了各路大神,奈何大神们要么忙,要么说没有遇到过这个问题,于是就是去看了iOS11之后UIScrollView的一些变化,查了资料,抱着试一试的心理,在AppDelegate里面加上了一句代码

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

        UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

后面这个代码也是下一个问题需要用到的

        [[UISearchBar appearance] setSearchFieldBackgroundImage:[self searchFieldBackgroundImage] forState:UIControlStateNormal];

    }

,加上代码再运行发现就可以了。

那么接下来说上面第二句代码的用处,我的项目有个地方是在导航栏上面放了一个UISearchBar,在iOS11之前是没有什么问题的,但是在适配iPhone X 的时候发现,怎么有UISearchBar的地方导航栏这么高,而且UISearchBar的高度也变高了,导航栏是被撑高的??

通过一番查资料,发现iOS11默认的导航栏是好像是36还是多少的,而iOS11之前是28,所以导航栏变壮了。。。为了统一,我得改变它的高度,所以上面的第二句代码就用上了

#pragma mark - searchFieldBackgroundImage iOS 11 调用方法

- (UIImage*)searchFieldBackgroundImage {

    UIColor*color = [UIColor whiteColor];

    CGFloat cornerRadius = 14;//圆角

    CGRect rect =CGRectMake(0,0,28,28);//高度,我设为28

    UIBezierPath*roundedRect = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:cornerRadius];

    roundedRect.lineWidth=0;

    UIGraphicsBeginImageContextWithOptions(rect.size,NO,0.0f);

    [color setFill];

    [roundedRect fill];

    [roundedRect stroke];

    [roundedRect addClip];

    UIImage *image =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

}

这是AppDelegate里面的方法。

然后在需要用到UISearchBar的地方再加上一下代码

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

        [[_searchBar.heightAnchor constraintEqualToConstant:44] setActive:YES];

        UITextField *txfSearchField = [_searchBar valueForKey:@"_searchField"];

        [txfSearchField setDefaultTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}];

    }

搞定。

这两天又发现一个问题,据说之前用iPhone X测试是没有出现的,重点是iOS11.2也是没有这个问题的,然而,iOS11.1出现啦,就是从首页进入内页的时候标签栏下面会出现一块黑色区域,奇了怪了,怎么两部iPhone X测试一个会出现黑色块一个不会出现,难道iOS11.1和11.2又有区别?后面查资料说是标签栏上移,神马情况。。。贴代码:

CGRect frame = self.tabBarController.tabBar.frame;

    frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;

    self.tabBarController.tabBar.frame = frame;

再一试,可以了。。。啊哈,今天就先写到这里,第一次写简书,忘大家多多指教

相关文章

  • 关于iOS11遇到的那些坑

    第一次写简书,不知道该怎么写,就自己在iOS11开发遇到的坑说一下(说明一下,我还是个菜鸟,有什么写得不对的欢迎提...

  • IOS11 遇到的坑

    1. 默认导航栏返回按钮修改 如果我们想要隐藏导航栏返回按钮的文字并且想使用自己的图片代替原有的返回图片,我...

  • iOS11适配(trailingSwipeActionsConf

    iOS11适配遇到的坑 一.UITableView 1.scrollView展示出现下移 解决办法 [UIScro...

  • iOS11 UITableView遇到的坑

    问题: iOS11上, UITableview不能滑动到最后一行的bug. 最近项目在做即时通讯的IM的app,...

  • IOS11 适配遇到的坑

    IOS11正式版马上就要发布了,是时候适配一波了。下面就来说说我适配过程中遇到的坑吧。 UITableView:默...

  • ios11 stroryBoard遇到的坑

    没事玩玩ios11新特性,导航栏的大小标题切换问题,就两行代码的事,折腾了好久没发现为什么当滑动 滑动试图时(比...

  • RN中的轮播图

    遇到了关于this的坑

  • 关于iOS11 遇到的坑,以及如何解决

    1.tableView 的UITableViewStyleGrouped模式会下移,这是因为iOS11之后需要设置...

  • 遇到的那些坑

    1、为了优化代码增加了配置文件,用Python自带的模块configparser。中间增加了公共方法所在目录,导致...

  • ios11适配 那些踩过的坑

    本次适配ios11的迭代版本终于上线了,细数一下,还真的遇到了挺多的坑。在此记录下,给自己踩过的坑留个印记,也为了...

网友评论

      本文标题:关于iOS11遇到的那些坑

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