[英]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.