2012-06-15 23 views
1

所以我成功地設置在我的應用程序委託定製的圖形(iOS 5中)與此代碼(紅寶石運動語法):定製UINavigationBar的圖形與重新調整

navbar = UIImage.imageNamed "navbar.png" 
navbutton = UIImage.imageNamed("navbutton.png").resizableImageWithCapInsets(UIEdgeInsetsMake(0,5,0,5)) 
navbackbutton = UIImage.imageNamed("navback.png").resizableImageWithCapInsets(UIEdgeInsetsMake(0,14,0,5)) 

UINavigationBar.appearance.setBackgroundImage(navbar, forBarMetrics:UIBarMetricsDefault) 
UIBarButtonItem.appearance.setBackgroundImage(navbutton, forState:UIControlStateNormal, barMetrics:UIBarMetricsDefault) 
UIBarButtonItem.appearance.setBackButtonBackgroundImage(navbackbutton, forState:UIControlStateNormal, barMetrics:UIBarMetricsDefault) 

很容易的。唯一的問題是,現在我添加重新定向支持,並且當視圖變爲橫向時,導航欄圖像保持320px寬並重復以填充屏幕頂部的寬度...按鈕重新定位,但導航欄不是「T動態strected ...

我怎樣才能解決這個問題?

我知道didRotateFromInterfaceOrientation(方向)的方向完成後被調用,所以如果我需要調用某種UINavBarRefactor方法,我認爲是這樣做的地方嗎?

PS:如果它是有幫助的,我用this tutorial學習如何風格化的導航欄。雖然,你不應該太需要這個;我已經向您展示了上述教程中涉及的所有代碼^^。

回答

0

您可以使用另一個酒吧指標橫向模式。

UINavigationBar.appearance.setBackgroundImage navbar_image, 
    forBarMetrics: UIBarMetricsDefault 
UINavigationBar.appearance.setBackgroundImage navbar_image_landscape, 
    forBarMetrics: UIBarMetricsLandscapePhone 

對於其他選項也是如此。