我通過重寫通過類別的drawRect添加自定義背景圖像到我的UINavigationBar。UINavigationBar通過drawRect的背景圖像 - 問題與提示動畫
- (void)drawRect:(CGRect)rect{ [[UIImage imageNamed:@"navbar.png"] drawInRect:CGRectMake(0, self.frame.size.height-44, self.frame.size.width, 44)]; }
該解決方案似乎做工精細,直到您嘗試使用navigationitem.prompt財產。 而不是做一個平滑的動畫呈現提示,它突然做。
有沒有關於如何解決這個問題的建議?或者設置背景圖像的另一種方式。
PS。我試圖避免只是添加一個背景圖像作爲子視圖,因爲事情重新排列的方式時,視圖推/流行。而且我討厭在每個視圖的viewDidAppear中發送SubviewToBack。
TIA!
編輯:我也試過方法swizzling,這將工作得很好,如果我可以讓我的圖像伸展,但由於圖像不可拉伸,我需要弄清楚如何挖掘動畫,碰巧做一個移動而不是拉伸。
編輯:看我下面
至於你是如何實現的drawRect:,你可能想看看http://stackoverflow.com/questions/1085479/override-a-method-via-objc-category-and-call-the-default-implementation – 2009-10-25 15:34:23
我其實也嘗試方法swizzling這個特殊的drawRect,但結果並不令人滿意。它恢復原始動畫,但自定義圖像仍然只是「彈出」。 – dizy 2009-10-25 16:48:00
其實我只是意識到我的方法swizzling不能在設備上編譯。在iPhone設備上可能會翻轉嗎? – dizy 2009-10-28 14:23:58