我們已經在我們的應用程序是「底欄」這在目前只是一個UIView
及以上導致不一致等場所中定義的所有...UIBarButtonItems與背景圖像
我試圖取代將此與UIToolBar
和UIBarButtonItems
結合使用,以便我可以使用UIAppearance
協議定製外觀。
我們在工具欄中使用的按鈕具有由可調整大小的圖像(在資產目錄中定義)製成的背景圖像。
我們希望它是什麼樣子是這樣的......
按鈕被很好地爲中心的工具欄的頂部和底部之間。
然而,當我使用UIAppearance
協議設置背景圖片會發生什麼情況是這樣的......
的按鈕垂直對齊偏離中心。
看起來文本是在同一個地方,背景是應用在文本週圍,但文本實際上低於中心。沒有BG這是有道理的,但有一個BG它不起作用。
我可以更改每個按鈕的代碼框架,但這不是理想的,因爲我們回到了我試圖解決的不一致問題。
是否有任何方法可以在一個地方對UIBarButtonItem
的所有實例進行更改?
我甚至嘗試在圖像底部添加透明度以「向上推」,但沒有效果。
更新到位
顯示問題在ENW項目,我嵌入導航controlle蘭特使用此代碼視圖控制器...
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController setToolbarHidden:NO animated:animated];
}
- (NSArray *)toolbarItems
{
return @[
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithTitle:@"Hello" style:UIBarButtonItemStyleDone target:nil action:nil],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithTitle:@"World!" style:UIBarButtonItemStyleDone target:nil action:nil],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithTitle:@"Goodbye!" style:UIBarButtonItemStyleDone target:nil action:nil],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]
];
}
結果是...
然後我用UIAppearance
代碼...
[[UIToolbar appearance] setTintColor:[UIColor whiteColor]];
[[UIToolbar appearance] setBarTintColor:[UIColor colorWithRed:0.15 green:0.2 blue:0.85 alpha:1.0]];
,結果是...
這看上去很好,但是當我添加背景圖片...
隨着代碼...
[[UIBarButtonItem appearance] setBackgroundImage:[UIImage imageNamed:@"ToolBarButtonBackgroundEnabled"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
我看到硫小號...
我試圖改變標題位置調整...
[[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -5) forBarMetrics:UIBarMetricsDefault];
但是,這只是移動按鈕中的文本......
一點也沒有」 t移動按鈕背景。
我找不到與工具欄外觀中按鈕偏移有關的任何內容。
移動文本
我錯了關於保留在同一個地方的文本。文本當您添加一個背景,欄按鈕項移動...
我合併工具欄的截圖有和無按鈕的背景。您可以看到文字向下移動。
我試過這個使用UIAppearance協議,它崩潰了應用程序。 – Fogmeister