我有一個應用程序,它使用Storyboard來顯示兩個屏幕。第一個是列表(在截圖中稱爲「Lista」),第二個是地圖(「Térkép」)。每個視圖都有一個左側和右側導航按鈕。按下右按鈕將地圖視圖推送到導航控制器。後退按鈕從地圖的viewDidLoad
方法手動隱藏。UIBarButtonItem大小不同
的問題是,爲什麼在欄按鈕項目每個屏幕上有不同的大小?我怎樣才能控制按鈕的大小?
按鈕上的圖像尺寸相同。剝皮在AppDelegate
通過外觀設置完成:
// navbar background
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg-titlebar.png"]
forBarMetrics:UIBarMetricsDefault];
// navbar button background
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
// back button background
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
在我的情況下,這個公式總是適合我。可能是你正在給你的酒吧按鈕分開或應該有一些方向問題。 –
有關圖像的問題總是感謝:) – Anupdas
如果您當前正在使用viewDidLoad,請嘗試設置viewWillAppear中的按鈕 –