0
我正在製作一個應用程序,其中我在UINavigationBar背景中使用了一個徽標。當iPad從縱向模式轉換到橫向模式時,標誌會變得難看,看起來很醜。我做了兩個不同的背景圖片無論是縱向和橫向模式,然後就用下面的代碼進行更改:當iPad從縱向模式轉換到橫向模式時,如何更改UINavigationBar背景圖像?
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
if(toInterfaceOrientation == UIInterfaceOrientationPortrait){
NSLog(@"orientation is UIInterfaceOrientationPortrait");
UINavigationBar *navBar = [[self navigationController] navigationBar];
[navBar setBackgroundImage:[UIImage imageNamed:@"portrait_bg.png"] forBarMetrics:UIBarMetricsDefault];
}else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft){
NSLog(@"orientation is UIInterfaceOrientationLandscapeLeft");
UINavigationBar *navBar = [[self navigationController] navigationBar];
[navBar setBackgroundImage:[UIImage imageNamed:@"landscape_bg.png"] forBarMetrics:UIBarMetricsDefault];
}else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight){
NSLog(@"orientation is UIInterfaceOrientationLandscapeRight");
UINavigationBar *navBar = [[self navigationController] navigationBar];
[navBar setBackgroundImage:[UIImage imageNamed:@"landscape_bg.png"] forBarMetrics:UIBarMetricsDefault];
}else{
NSLog(@"orientation is UIInterfaceOrientationPortrait 2");
UINavigationBar *navBar = [[self navigationController] navigationBar];
[navBar setBackgroundImage:[UIImage imageNamed:@"portrait_bg.png"] forBarMetrics:UIBarMetricsDefault];
}
}
但那不是工作。它沒有改變任何東西。任何想法我怎麼能做到這一點?提前致謝。
沒有幫助。並有一個警告從枚舉類型「UIDeviceOrientation」(又名'枚舉UIDeviceOrientation')隱式轉換爲不同的枚舉類型'UIInterfaceOrientation'(又名'枚舉UIInterfaceOrientation') – Piscean
其顯示日誌但不會更改UINavigationBar背景圖像 – Piscean