自定義帶navigationBar的自定義視圖

參考官方文檔,淺顯提取和理解

參考鏈接

創(chuàng)建navigationBar

- (void)loadView{
    // view= nil會(huì)調(diào)用loadView方法
    // view為nil,在loadView內(nèi)調(diào)用self.view會(huì)造成死循環(huán),導(dǎo)致內(nèi)存泄漏
    self.view = [[UIView alloc] init];
    
    _navigationBar = [[UINavigationBar alloc]init];
    _navigationBar.delegate = self;
    [self.view addSubview:_navigationBar];
}

計(jì)算statuBar到navigationBar的高度

CGFloat topLayoutGuide = 0.0f;
if ([self respondsToSelector:@selector(topLayoutGuide)])
   topLayoutGuide = (self.topLayoutGuide).length;

根據(jù)此設(shè)置navigationBar的frame

[_navigationBar sizeToFit]; // return 'best' size to fit current view bounds
_navigationBar.frame = CGRectMake(_navigationBar.frame.origin.x, topLayoutGuide,_navigationBar.frame.size.width,_navigationBar.frame.size.height);

計(jì)算剩余展示子視圖或子控制器的frame

return CGRectMake(0,
_navigationBar.frame.size.height + _navigationBar.frame.origin.y,
self.view.bounds.size.width,
self.view.bounds.size.height - _navigationBar.frame.size.height - _navigationBar.frame.origin.y);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這陣子迷上了李健和小岳岳的《唐僧在女兒國(guó)抒懷并看著女兒國(guó)王的眼睛》,然后就開(kāi)始單曲循環(huán)遲重瑞1987年唱的那首《唐...
    二十四大爺閱讀 733評(píng)論 0 0
  • 一直覺(jué)得自己是個(gè)很冷酷的人,想要對(duì)任何人任何事都做到不聞不問(wèn),不關(guān)心以減少麻煩??杉幢阍僭趺磦窝b,內(nèi)心的空虛卻無(wú)法...
    蘅煙旭陽(yáng)閱讀 399評(píng)論 0 0
  • 01 你喜歡雨天 所以我把雨傘隨身攜帶 并祈禱著在你心情落寞時(shí)下一場(chǎng)酣暢的雨 02 在那一刻 我最想做的事是 把肩...
    喵的氟西汀閱讀 506評(píng)論 3 8

友情鏈接更多精彩內(nèi)容