iOS导航栏、状态栏及Tabbar高度(区分iPhone X与其他iPhone机型)

2021-01-12 22:20:49


#define kIs_iphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

#define kIs_iPhoneX kScreenWidth >=375.0f && kScreenHeight >=812.0f&& kIs_iphone

 

/*状态栏高度*/

#define kStatusBarHeight (CGFloat)(kIs_iPhoneX?(44.0):(20.0))

/*导航栏高度*/

#define kNavBarHeight (44)

/*状态栏和导航栏总高度*/

#define kNavBarAndStatusBarHeight (CGFloat)(kIs_iPhoneX?(88.0):(64.0))

/*TabBar高度*/

#define kTabBarHeight (CGFloat)(kIs_iPhoneX?(49.0 + 34.0):(49.0))

/*顶部安全区域远离高度*/

#define kTopBarSafeHeight (CGFloat)(kIs_iPhoneX?(44.0):(0))

/*底部安全区域远离高度*/

#define kBottomSafeHeight (CGFloat)(kIs_iPhoneX?(34.0):(0))

/*iPhoneX的状态栏高度差值*/

#define kTopBarDifHeight (CGFloat)(kIs_iPhoneX?(24.0):(0))

/*导航条和Tabbar总高度*/

#define kNavAndTabHeight (kNavBarAndStatusBarHeight + kTabBarHeight)


  • 2020-03-03 09:46:42

    JS实现HTML标签转义及反转义

    简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中显示。 这时遇到一个问题,如果用户输入了html标签,则在div显示中,标签被解析。 由于是纯前端操作,不涉及后端,因此需要通过js对输入内容进行转义。

  • 2020-03-03 09:51:38

    写一个可插入自定义标签的 Textarea 组件

    为了实现这个功能,我最先想的是改造一个 <textarea> 然后我想到了 contenteditable (链接指向 mozilla.org) 这一属性 这是一个 html5 的属性,可以让元素内容可编辑

  • 2020-03-03 20:18:21

    Vuepress如何做到在 Markdown 中使用 Vue 语法

    在 vuepress 刚出时,我就觉得这是个很值得追更的开源项目。果不其然,里面众多的前端编程技巧让我受益良多。 于是在周末这种日子里,人家追剧我追码。 今天,我就和大家分享下 vuepress 是如何做到在 Markdown 中使用 Vue 语法的。

  • 2020-03-03 21:35:57

    PWA:安装 Web 应用

    要完整介绍 PWA 是什么,需要扯一堆名词,毫无意义。 以改造公羊阅读的过程为例,简要的说明什么是 PWA。