iphonex设配中的问题

2018-06-04  本文已影响0人  X_code_ZH

问题 1 app上下为黑色区域,不是全屏(iPhoneX)

你可能需要添加新的LaunchImage

编辑LaunchImage的Contents.json文件,在前面添加如下代码

注意替换文件名

{"extent" : "full-screen", "idiom" : "iphone", "subtype" : "2436h", "filename" : "iPhoneX.png", "minimum-system-version" : "11.0", "orientation" : "portrait", "scale" : "3x" }, { "extent" : "full-screen", "idiom" : "iphone", "subtype" : "2436h", "filename" : "iPhoneX.png", "minimum-system-version" : "11.0", "orientation" : "landscape", "scale" : "3x" },

问题2 UITableView,cell,header,footer高度异常

在iOS 11中默认启用Self-Sizing,,Headers, footers, and cells都默认开启了Self-Sizing,所有estimated 高度默认值从iOS11之前的 0 改变为UITableViewAutomaticDimension

要解决此类异常的话,可通过以下代码解决

_tableView.estimatedRowHeight = 0;

_tableView.estimatedSectionHeaderHeight = 0;

_tableView.estimatedSectionFooterHeight = 0;


问题3 tabbar或navigation Bar异常 (iPhoneX)

根据上面所述,iPhoneX的导航栏高度为88,tabbar高度为83的,如果你的界面看起来不是这样的话,那么应该是tabbar 或 navigationBar为自定义的,你需要重写你的代码以适配iPhoneX

问题4 适配安全区域的问题

安全区域时iOS11新增的概念,基本每个APP都得或多或少地适配安全区域,我自己也花了很长时间来适配,但都是基于这位大神的文章来适配的,强烈建议阅读这篇文章

iOS 11 安全区域适配总结

问题5 textField问题

设置textFiled的左边文字偏移距离一般用用一个leftView,但是有的是设置一个paddingLeft,如下代码

[self.textField setValue:[NSNumbernumberWithInt:16] forKey:@"paddingLeft"];

然而!!这个代码在iOS11下失效了,没有间距了,所以还是老老实实用leftView吧

self.textField.leftView = [[UIViewalloc] initWithFrame:CGRectMake(0,0,16,44)];self.textField.leftViewMode =UITextFieldViewModeAlways;

问题6tableView的安全区域问题

为了解决该问题必须手动设置UITableView的底部内边距为34

self.tableView.contentInset =UIEdgeInsetsMake(0,0,34,0);

注意:此时还有一个小问题,那就是滚动条scrollIndicator,发现滚动条已经到了屏幕底部,当然只是由于屏幕四周是圆角的,所以下面那以小部分没有显示出来,被圆角给截掉了。为了达成一致效果,滚动条也需要设置内边距

self.tableView.scrollIndicatorInsets =UIEdgeInsetsMake(0,0,34,0);

上一篇下一篇

猜你喜欢

热点阅读