iOS调试——适配iOS11,iPhoneX问题及解决办法

本文介绍了在适配iOS11和iPhoneX时遇到的几个问题,包括应用未全屏显示、MJRefresh下拉刷新UI错误、自定义导航栏失效以及系统返回箭头位置下移的问题。提供了相应的解决方法,如设置launchimg启动图、自定义返回按钮样式以及处理导航栏标题和箭头位置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iPhoneX:

问题

1.app上下各有空间,未全屏

解决办法:UI给新图后,新增 launchimg启动图 。图片尺寸:1125 * 2436



2.问题:使用MJRefresh,下拉刷新UI错误

解决办法:

方法一:如果多个页面用tableview,建议使用 baseTableView,继承。baseTableView实现下列方法

OC:

if (@available(iOS 11.0, *)) {
            _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
            _tableView.scrollIndicatorInsets = _tableView.contentInset;
        }
swift:

if #available(iOS 11.0, *) {
            tableView.contentInsetAdjustmentBehavior = .never
            tableView.scrollIndicatorInsets = tableView.contentInset
        }

方法二:给tableview添加分类,实现上述方法,在声明tableview的类中调用分类方法

方法三:你随意发挥


3.问题:自定义导航栏方法失效:导致返回箭头在iOS11中位置下移。自定义按钮图片后解决了箭头位置问题但文字去除不能同时处理好。

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)

//                                                         forBarMetrics:UIBarMetricsDefault];

上述方法无法再完美解决去除返回按钮文字,留下位置合适的箭头。。

解决方案:大致有给UIBarButtonItem添加分类或重写,自己控制位置样式等,给UIVIewController添加分类,重写返回按钮,在控制器中添加按钮及点击方法,使用判断iOS11及偏移的方法调整箭头位置等。

自定义导航栏,其他博客上看到的箭头处理办法:

UIImage *backButtonImage = [[UIImage imageNamed:@"left"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    self.navigationBar.backIndicatorImage = backButtonImage;

    self.navigationBar.backIndicatorTransitionMaskImage = backButtonImage;

控制器中调用方法去掉返回文字:

    self.navigationController.navigationBar.topItem.title = @"";


暂时项目iOS11就发现了这几个问题,再遇到再记录,未完待续。。。

还发现一个iOS11的bug :系统提醒事项里面UI错乱。。。某一项位置数据在+号下面几行,+号上面数据位置空,但是可以左滑删除等操作。懒得截图了,反正也不重要哈哈哈



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值