iOS11的一些适配问题

1、在iOS11中,导航栏的navigationItem如果是customView,会出现点击事件失效,而在iOS10,即iOS11以下的系统正常。

原因:

这是因为在iOS11中,新的导航视图使用了AutoLayout布局,而我们的给navigationItem设置的customView内部是frame

布局,所以在自动布局下出错了。

解决方案:

针对iOS11,对navigationItem中的customView均采用自动布局,如:

2、在iOS11中,tableView左滑删除按钮的默认样式无效,需实现以下代理方法:

- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    if (@available(iOS 11.0, *)) {
        //删除按钮自定义样式
        UIContextualAction *deleteRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"删除" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
            FSMessageListModel *model = self.dataSource[indexPath.row];
            [self deleteNotiMessageByType:model.msgId.integerValue index:indexPath];
            completionHandler (YES);
        }];
        deleteRowAction.image = [UIImage imageNamed:@"msg_delete"];
        deleteRowAction.backgroundColor = RGBA(228, 67, 46, 1);

        UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:
                                               @[deleteRowAction]];
        return config;
    } else {
        // Fallback on earlier versions
        return nil;
    }
}

3、iOS11废弃了automaticallyAdjustsScrollViewInsets属性,需要使用scrollview的contentInsetAdjustmentBehavior属性。

     if (@available(iOS 11.0, *)) {
        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    } else {
        // Fallback on earlier versions
    }

更多iOS11和iPhone X的适配可以参考:

https://www.jianshu.com/p/370d82ba3939

http://www.cocoachina.com/ios/20171011/20737.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值