我正在使用iOS 5中引入的UIAppearance
为我的应用中的所有BarButtonItem设置自定义背景图片。
以下代码是我用来设置后退按钮的代码,它在纵向模式下工作正常。但是,当手机旋转到横向并且导航栏调整大小时,按钮根本不会调整大小并在底部被切断。
我认为它会自动执行此操作,因为我将边缘插入设置为不关心垂直调整大小。有什么想法吗?
UIImage *colorViewBBIImage = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 17, 0, 7)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
我的非视网膜图像是30px x 31px。
答案 0 :(得分:2)
对于横向模式,只需使用最后一个参数UIBarMetricsLandscapePhone调用代码的第二行
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];