正是取決於你如何定製想要的導航欄,下面可以幫助你:
1)在酒吧的圖像,替換的標題文字。 (個體是一個UIViewController)
UIImageView *titleImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
self.navigationItem.titleView = titleImg;
[titleImg release];
2)中的全定製導航欄
子視圖的UIView(CORRECTION:UINavigationController的)配有一個筆尖,使用(例如,iPhone縱向)一個imageview的作爲背景的(可以有一個漸變),然後在左側和右側定製按鈕,都與您的相關響應者功能相關聯。只要你將這個導航欄視圖作爲子視圖添加到每個視圖控制器等,每當新的視圖控制器被推入堆棧時,你就會覆蓋Apple的標準導航欄。 (記得設置他們隱藏在應用程序委託)
編輯:
NavigationBar.h
@interface NavigationBar: UIViewController
{
IBOutlet UIImageView* navigationBarImgView; // remember to set these 4 IBOutlets as properties with (nonatomic, retain) and synthesize them.
IBOutlet UILabel* controllerHeader;
IBOutlet UIButton* rightButton;
IBOutlet UIButton* leftButton;
eController controller;
int screenWidth;
}
NavigationBar.m
-(id)initNavigationBar: (NSString*)name bundle:(NSBundle*)bundle: (eController)controllerName: (int)inScreenWidth
{
[super initWithNibName:name bundle:bundle];
controller = controllerName;
screenWidth = isScreenWidth;
return self;
}
你可以看到我的init這裏只傳遞一些東西 - 一個在我的應用程序委託中定義的枚舉,其中包含所有可能的v的名稱控制器。我們在我的自定義導航欄類中解釋此枚舉並在所有可能的控制器之間切換,然後設置它們的按鈕和標題以及使用該信息啓動的操作。屏幕寬度很重要 - 儘管如果您在IB中創建欄,則可能不需要此設置,但請設置它的大小以填充爲這兩個方向分配的空間。
回執:)
嘗試回答這些問題:http://stackoverflow.com/questions/704558/custom-uinavigationbar-background/2720196#2720196 http://stackoverflow.com/q/380507/760275 –