簡體   English   中英

如何使UINavigationBar像Mail.app中一樣高

[英]How to make UINavigationBar taller like in Mail.app

線程視圖中的Apple Mail應用程序具有動態的,比平常更高的導航欄,滾動時該導航欄會折疊。 是否可以僅使用允許的API調用來達到相同的效果,或者僅在Apple內部可用?

展開: 郵件導航欄已展開

收合: 郵件導航欄折疊

在這里檢查。 鏈接具有解決問題的不同方法。 但是下面的代碼對我有所幫助。

for subview in (self.navigationController?.navigationBar.subviews)! {
   if NSStringFromClass(subview.classForCoder).contains("BarBackground") {
        var subViewFrame: CGRect = subview.frame
        // subViewFrame.origin.y = -20;
        subViewFrame.size.height = 100
        subview.frame = subViewFrame

    }

}

您可以如下設置

-(void)layoutSubviews{
        [super layoutSubviews];
        CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame];
        if (rectStatus.size.height==44.f) {

        }else{
            if (@available(iOS 11.0, *)) {
                for ( UIView*aView in self.subviews) {
                    if ([NSStringFromClass(aView.classForCoder) isEqualToString:@"_UINavigationBarContentView"]) {
                        aView.frame = CGRectMake( 0,20,aView.frame.size.width,44);
                    }
                    else if ([NSStringFromClass(aView.classForCoder) isEqualToString:@"_UIBarBackground"]) {
                        aView.frame = CGRectMake(0,0,aView.frame.size.width, 64);
                    }
                }
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM