欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS狀態(tài)欄frame計(jì)算問(wèn)題的實(shí)現(xiàn)

 更新時(shí)間:2018年06月08日 14:36:06   作者:weakTong  
這篇文章主要介紹了iOS狀態(tài)欄frame計(jì)算問(wèn)題的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

我們知道除了iPhoneX以外的設(shè)備導(dǎo)航欄默認(rèn)高度都是20,當(dāng)然蘋果也為我們提供了計(jì)算狀態(tài)欄frame的方法:

[[UIApplication sharedApplication] statusBarFrame];

這個(gè)方法在正常情況下返回的狀態(tài)欄高度也是20,但當(dāng)正在通話時(shí),或者后臺(tái)有APP正在使用定位功能時(shí),頂部會(huì)出現(xiàn)兩種提示條:

正在通話.png

后臺(tái)有APP使用定位.jpeg

當(dāng)頂部有這兩種提示條出現(xiàn)時(shí),上面的statusBarFrame方法返回的狀態(tài)欄高度就變成了40,在手動(dòng)更改頂部約束的時(shí)候就會(huì)出現(xiàn)問(wèn)題,最后沒找到解決方法,只能手動(dòng)改回20,感覺是有那么點(diǎn)low。

if (iPhoneX) {//x上不做任何改變
    return rectStatus.size.height + rectNav.size.height;
  } else {
    if (rectStatus.size.height == 40) {//頂部有導(dǎo)航或者電話條時(shí),狀態(tài)欄高度系統(tǒng)方法計(jì)算錯(cuò)誤,手動(dòng)置為20
      CGFloat fStatusBarHeight = 20;
      return fStatusBarHeight + rectNav.size.height;
    } else {
      return rectStatus.size.height + rectNav.size.height;
    }
  }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論