[英]how to display an image in the navigation bar of an iPhone application?
如何在iPhone應用程序的導航欄中顯示圖像? (比如,在標題之后)
以下是如何將圖像置於NavBar中心。
UIImage *image = [UIImage imageNamed: @"NavBarImage.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
self.navigationItem.titleView = imageView;
[imageView release];
此代碼實際上包含在NavBar的Apple源代碼中,可以在Apple的iPhone開發人員中心找到。 源顯示了各種操作StatusBar和NavBar的方法。
我沒有測試過這個,但是因為UINavigationBar是一個視圖,你可以添加子視圖。
UIImage* myImage = [UIImage imageNamed:@"Myimage.png"];
UIImageView* myImageView = [[UIImageView alloc] initWithImage:myImage];
myImageView.frame.origin.x = 30.0; // You will have to find suitable values for the origin
myImageView.frame.origin.y = 5.0;
[myTabbar addSubView:myImageView];
[myImageView release];
您可以使用backItem屬性之類的內容來計算圖像視圖的位置。
如果您想要導航欄右側的圖像,您可以將其定義為自定義按鈕,在預設時不執行任何操作,如下所示
UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton];
self.navigationItem.rightBarButtonItem = fakeButtonItem;
[fakeButtonItem release];
[fakeButton release];
只需將代碼放入- (void)viewWillAppear:(BOOL)animated;
所以它會正常工作並添加一個名為Top Bar的尺寸為320x40的圖像
UIImage *image = [UIImage imageNamed: @"TopBar.png"];
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
導航欄有一個名為標題視圖的屬性 - 將其設置為您喜歡的圖像。 由於titleView會覆蓋導航欄的標題,因此您必須在圖像文件中包含所需的標題。 仍然將標題設置為您想要的標題,以便在按下視圖控制器時它顯示在后退按鈕上
我遇到了同樣的問題。找出最佳解決方案
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"background_image.png"] forBarMetrics:UIBarMetricsDefault];
希望這會有所幫助....
只需編寫自己的導航欄。 因此,您必須禁用導航欄拳頭:
通過在故事板中選擇導航控制器來禁用界面構建器中的頂部欄:屬性檢查器 - >模擬度量標准 - >頂欄:選擇無
之后你可以添加你喜歡的任何HeaderView ......
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, sFrame.size.width, 100)];
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"header_image.png"]];
self.headerView.backgroundColor = background;
// ...add buttons and labels
[self.view addSubview:headerView];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.