我正在使用此代码将图像添加到App Delegate中的UIToolbar背景中:
[[UIToolbar appearance] setBackgroundImage:
[UIImage imageNamed:@"toolbarbackground.png"]
forToolbarPosition:0 barMetrics:UIBarMetricsDefault];
图像宽度为768像素(纵向方向的iPad屏幕宽度)。当我旋转到横向时,图像不会拉伸以填充新的屏幕宽度(1024像素)。如何在UIToolbar上使用自定义背景图像,在旋转时伸展以适合屏幕?
答案 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];