注册 登录
主题 : 一个关于适配iphoneX的问题
级别: 侠客
UID: 496759
精华: 0
发帖: 116
可可豆: 314 CB
威望: 314 点
在线时间: 145(时)
注册时间: 2015-08-12
最后登录: 2018-06-19
0 楼:  发表于: 2018-06-11 14:21    发自: Web Page
来源于 一般提问 分类

一个关于适配iphoneX的问题   

原来的项目没有支持iphoneX,现在加了一个启动页还好,但是布局乱了,可能是因为导航栏的高度变了,那怎么统一管理其他的类呢,要一个个判断吗?重新调整frame?貌似这样很复杂啊,工作量也很大,原来的frame设置类似于masonry。
关键词: 问题 phoneX 适配
级别: 版主

状态: 连续签到 - [129天]
UID: 515859
精华: 0
发帖: 880
可可豆: 1310 CB
威望: 1100 点
在线时间: 885(时)
注册时间: 2015-10-20
最后登录: 2018-06-20
1 楼:  发表于: 2018-06-11 14:35    发自: Web Page
导航栏高度什么的没有用宏定义吗,没有用就有点麻烦了
级别: 侠客
UID: 496759
精华: 0
发帖: 116
可可豆: 314 CB
威望: 314 点
在线时间: 145(时)
注册时间: 2015-08-12
最后登录: 2018-06-19
2 楼:  发表于: 2018-06-11 14:37    发自: Web Page
回 1楼(zzwj_1314) 的帖子
用了啊,但是宏定义是不能改的
级别: 版主

状态: 连续签到 - [129天]
UID: 515859
精华: 0
发帖: 880
可可豆: 1310 CB
威望: 1100 点
在线时间: 885(时)
注册时间: 2015-10-20
最后登录: 2018-06-20
3 楼:  发表于: 2018-06-11 14:40    发自: Web Page
回 2楼(FleetingTimeNx) 的帖子
为啥不能改
级别: 侠客
UID: 496759
精华: 0
发帖: 116
可可豆: 314 CB
威望: 314 点
在线时间: 145(时)
注册时间: 2015-08-12
最后登录: 2018-06-19
4 楼:  发表于: 2018-06-11 14:43    发自: Web Page
哪位老哥能告诉我怎么写一个宏定义,判断当前是否是iphoneX并且设置对应的高度呢

级别: 侠客
UID: 496759
精华: 0
发帖: 116
可可豆: 314 CB
威望: 314 点
在线时间: 145(时)
注册时间: 2015-08-12
最后登录: 2018-06-19
5 楼:  发表于: 2018-06-11 14:49    发自: Web Page
回 3楼(zzwj_1314) 的帖子
求教怎么写哎
级别: 版主

状态: 连续签到 - [129天]
UID: 515859
精华: 0
发帖: 880
可可豆: 1310 CB
威望: 1100 点
在线时间: 885(时)
注册时间: 2015-10-20
最后登录: 2018-06-20
6 楼:  发表于: 2018-06-11 14:50    发自: Web Page
回 5楼(FleetingTimeNx) 的帖子
// iPhoneX适配
#define Is_Iphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define Is_Iphone_X (Is_Iphone && zScreenH == 812.0)

// 底部弧线高度(iPhoneX 才有)
#define kBottomHeight (Is_Iphone_X ? 34 : 0)

// 状态栏高度
#define kStatusHeight (Is_Iphone_X ? 44 : 20)

// 导航栏高度
#define kNavigationHeight 44
// 顶部状态栏+导航栏
#define kTopSubHeight (Is_Iphone_X ? 88 : 64)
// tabbar高度
#define kTabBarHeight (Is_Iphone_X ? 83 : 49)
级别: 版主

状态: 连续签到 - [129天]
UID: 515859
精华: 0
发帖: 880
可可豆: 1310 CB
威望: 1100 点
在线时间: 885(时)
注册时间: 2015-10-20
最后登录: 2018-06-20
7 楼:  发表于: 2018-06-11 14:53    发自: Web Page
回 5楼(FleetingTimeNx) 的帖子
swift版:


let isIphoneX = zScreenH == 812 ? true : false

// 底部弧线高度(iPhoneX 才有)
let kBottomHeight:CGFloat = (isIphoneX ? 34 : 0)

// 状态栏高度
let kStatusHeight:CGFloat = (isIphoneX ? 44 : 20)

// 导航栏高度
let kNavigationHeight:CGFloat = 44

// 顶部状态栏+导航栏
let kTopSubHeight:CGFloat = (isIphoneX ? 88 : 64)

// tabbar高度
let kTabBarHeight:CGFloat = (isIphoneX ? 83 : 49)
级别: 侠客
UID: 496759
精华: 0
发帖: 116
可可豆: 314 CB
威望: 314 点
在线时间: 145(时)
注册时间: 2015-08-12
最后登录: 2018-06-19
8 楼:  发表于: 2018-06-11 15:12    发自: Web Page
回 6楼(zzwj_1314) 的帖子
要写这么多的吗?我原来就写了一个TOP,因为导航栏就是64的高度,这么多是不是也要一个个的类里面加啊?
级别: 版主

状态: 连续签到 - [129天]
UID: 515859
精华: 0
发帖: 880
可可豆: 1310 CB
威望: 1100 点
在线时间: 885(时)
注册时间: 2015-10-20
最后登录: 2018-06-20
9 楼:  发表于: 2018-06-11 15:20    发自: Web Page
回 8楼(FleetingTimeNx) 的帖子
pch文件了解一下
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部