我有一個自定義類來定義一個特殊的背景圖像取決於我在視圖導航欄我。UINavigationBar的帶有自定義背景圖片
在我設置使用
- (void)drawRect:(CGRect)rect
圖像類別
問題是,當瀏覽導航控制器中的視圖時,自定義圖像消失,留下一個空白空間320x44(條的大小),直到下一個控制器收攏 - 即大約1秒之後。
這種看起來很醜,我想知道是否有更好的方法來做到這一點,所以我有一個乾淨的實現,看起來不錯,並符合我的要求。
在此先感謝。
分類代碼:
- (void)initImageDictionary
{
if(navigationBarImages==NULL){
navigationBarImages=[[NSMutableDictionary alloc] init];
}
}
- (void)drawRect:(CGRect)rect
{
UIImage *imageName = [navigationBarImages objectForKey:[NSValue valueWithNonretainedObject: self]];
UIImage *image = imageName;
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
- (void)setMyImage:(UIImage*)image
{
[navigationBarImages setObject:image forKey:[NSValue valueWithNonretainedObject: self]];
[self setNeedsDisplay];
}
然後我打電話:
[self.navigationBar performSelectorInBackground:@selector(setMyImage:) withObject:[UIImage imageNamed:imageTopbar]];
你可以發佈你已經實現的代碼來獲得更好的主意嗎? –
添加了一些代碼,希望它有幫助。 – Icky
試試這個鏈接http://stackoverflow.com/questions/6383873/approach-to-make-a-custom-tabbar –