因此,我使用以下代码(ruby 运动语法)在我的应用程序委托中成功设置了自定义图形(iOS 5):
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 宽并重复填充屏幕顶部的宽度......按钮被重新定位,但导航栏不是'不是动态的...
我怎样才能解决这个问题?
我知道在定向完成后会调用didRotateFromInterfaceOrientation(orientation),所以如果我需要调用某种 UINavBarRefactor 方法,我认为这就是这样做的地方吗?
PS:如果有帮助,我使用本教程来学习如何样式化导航栏。不过,您不应该需要太多;我已经向您展示了上面那个教程中涉及的所有代码^^。