簡體   English   中英

清除iPhone導航欄圖像

[英]Clear iPhone Navigation Bar Image

我目前在App Delegate中使用此代碼為導航欄設置自定義背景圖像:

@implementation UINavigationBar (CustomImage)
   - (void)drawRect:(CGRect)rect {
      UIImage *image = [UIImage imageNamed: @"MyNavigationBar.png"];
      [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
   }
@end   

它工作得很好,對於我的應用程序中的所有視圖,我將導航欄標題設置為不顯示文本(因此它不會覆蓋背景圖像)。

其中一個視圖提供了一個模態視圖控制器(確切地說是一個EKEventEditViewController),導航欄中的標題顯示“添加事件”,它顯示在我的自定義圖像之上。

我已經嘗試了幾種方法來更改標題(無濟於事),但寧願防止自定義導航欄背景圖像僅在此模態視圖中顯示。

有沒有人知道如何使用所述方法設置導航欄背景圖像?

拜托,永遠不要這樣做......

您正在替換UINavigationBar中的drawRect:方法,非常脆弱,可能會導致您(和您的用戶)頭痛。

您的背景將始終顯示在UINavigationBar的所有實例中,因為您已替換了drawRect的實現:

無法替換EKEventEditViewController的標題。 當然總有一種方法,但它比替換drawRect的實現更糟糕:

相反,請創建UINavigationBar的子類,並在需要自定義導航欄的位置使用它。

暫無
暫無

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

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