美文网首页
Xcode9+iphoneX可能会遇到的适配问题

Xcode9+iphoneX可能会遇到的适配问题

作者: 妳笇what | 来源:发表于2017-09-13 16:25 被阅读1843次

熬夜看了一下发布会,唉,又要适配了,但iOS最起码比Android那边适配还是轻松点。运行iPhoneX模拟器,发现原先在7p上完好的适配竟然有问题。


tableview这一块的空白是什么原因?

,但是在其它设备上确实没有这个问题啊。包括下面的tableBar也有点不适应。好吧,我首先想到是不是应该

self.automaticallyAdjustsScrollViewInsets = NO;

,检查一下代码(反正也是别人的项目,得从头开始查看),没有问题。难道是自动打开了Self-Sizing的原因?但是这里纯手写代码,并没有用xib啊,管他的,先关闭再说,在iOS 11中Table Views默认启用Self-Sizing的,Headers, footers, and cells都默认开启Self-Sizing,,我就在代码中添加了关闭的代码:

self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;

运行一下,然并卯啊!!!,我表示很无奈,没办法,开始查阅资料。我靠!

@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets API_DEPRECATED_WITH_REPLACEMENT("Use UIScrollView's contentInsetAdjustmentBehavior instead", ios(7.0,11.0),tvos(7.0,11.0)); // Defaults to YES

iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetAdjustmentBehavior来替代它。


contentInsetAdjustmentBehavior

/* Configure the behavior of adjustedContentInset.
 Default is UIScrollViewContentInsetAdjustmentAutomatic.
 */
@property(nonatomic) UIScrollViewContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior API_AVAILABLE(ios(11.0),tvos(11.0));
typedef NS_ENUM(NSInteger, UIScrollViewContentInsetAdjustmentBehavior) {
    UIScrollViewContentInsetAdjustmentAutomatic,
    // 和scrollableAxes一样,scrollView会自动计算和适应顶部和底部的内边距并且在scrollView 不可滚动时,也会设置内边距.
    UIScrollViewContentInsetAdjustmentScrollableAxes, 
    //自动计算内边距. 
    UIScrollViewContentInsetAdjustmentNever, 
    // 不计算内边距
    UIScrollViewContentInsetAdjustmentAlways, 
   // 根据safeAreaInsets 计算内边距

呦呦切克闹,开始适配,只需要判断一下

if (@available(iOS 11.0, *)) {
            _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
            _tableView.contentInset = UIEdgeInsetsMake(0, 0, 49, 0);
            _tableView.scrollIndicatorInsets = _tableView.contentInset;
        }
 if #available(iOS 11.0, *) {
            tableView.contentInsetAdjustmentBehavior = .never
            tableView.contentInset = UIEdgeInsetsMake(0, 0, 49, 0)
            tableView.scrollIndicatorInsets = tableView.contentInset
        }

在声明tableView地方添加就可以解决了
如果出现没有全屏的情况下,应该是你的launchImages的原因,让美工出一个@3倍图


修改好了

相关文章

  • Xcode9+iphoneX可能会遇到的适配问题

    熬夜看了一下发布会,唉,又要适配了,但iOS最起码比Android那边适配还是轻松点。运行iPhoneX模拟器,发...

  • 关于移动端适配,你必须要知道的

    移动端适配,是我们在开发中经常会遇到的,这里面可能会遇到非常多的问题: 1px问题 UI图完美适配方案 iPhon...

  • 关于移动端适配,你必须要知道的

    导读 移动端适配,是我们在开发中经常会遇到的,这里面可能会遇到非常多的问题: 1px问题 UI图完美适配方案 iP...

  • 关于移动端适配,你必须要知道的

    导读 移动端适配,是我们在开发中经常会遇到的,这里面可能会遇到非常多的问题: 1px问题 UI图完美适配方案 iP...

  • 适配iPhoneX遇到的问题

    iPhoneX-WebView适配问题 http://www.cocoachina.com/ios/2017122...

  • iPhoneX适配遇到的问题

    iphonX添加了齐刘海,增加了安全尺寸,因此它的状态栏和底部栏高度做了一定的修改 iphonX状态栏高度是44,...

  • iOS15适配

    对于iOS15适配汇总以及遇到的问题 注意:以下适配内容,必须适配的会以"必须"标出 UITableView Se...

  • iOS13适配(更新中)

    对于iOS13适配汇总以及遇到的问题注意:以下适配内容,必须适配的会以"必须"标出 1. Dark Model(必...

  • iOS 10 遇到的问题

    本人很懒,遇到问题才去解决问题。所以直到10.2才去适配,希望开发同仁们都不要像我一样。以下是本人做10适配遇到的...

  • iPhone X适配遇到的问题

    1.滚动条高度跳动、上下拉刷新问题: 2. 列表/页面偏移 本来是这样的 目前发现所有的Scrollview 及其...

网友评论

      本文标题:Xcode9+iphoneX可能会遇到的适配问题

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