旋转到横向时拉伸UIToolbar背景图像

时间:2012-06-29 00:38:52

标签: ios xcode ipad

我正在使用此代码将图像添加到App Delegate中的UIToolbar背景中:

[[UIToolbar appearance] setBackgroundImage:
[UIImage imageNamed:@"toolbarbackground.png"] 
                             forToolbarPosition:0 barMetrics:UIBarMetricsDefault];

图像宽度为768像素(纵向方向的iPad屏幕宽度)。当我旋转到横向时,图像不会拉伸以填充新的屏幕宽度(1024像素)。如何在UIToolbar上使用自定义背景图像,在旋转时伸展以适合屏幕?

2 个答案:

答案 0 :(得分:2)

工具栏是否自动调整大小?如果没有,请设置它的自动调整遮罩:

[myToolbar setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin]

如果工具栏确实自动调整大小并且图片仍未显示,请将图片视图的contentMode设置为UIViewContentModeScaleToFill

答案 1 :(得分:1)

UIImage *navBarImagePortrait = [UIImage imageNamed:@"navbar-portrait"];
navBarImagePortrait = [navBarImagePortrait resizableImageWithCapInsets:UIEdgeInsetsMake(1, 0, 0, 2)];
UIImage *navBarImageLandscape = [UIImage imageNamed:@"navbar-landscape"];
navBarImageLandscape = [navBarImageLandscape resizableImageWithCapInsets:UIEdgeInsetsMake(1, 0, 0, 2)];

// custom NaviagionBar
[self.toobar setBackgroundImage:navBarImagePortrait forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
[self.toobar setBackgroundImage:navBarImageLandscape forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsLandscapePhone];