旋转到横向时拉伸 UIToolbar 背景图像
Posted
技术标签:
【中文标题】旋转到横向时拉伸 UIToolbar 背景图像【英文标题】:Stretching a UIToolbar background image when rotating to landscape 【发布时间】:2012-06-29 00:38:51 【问题描述】:我正在使用以下代码将图像添加到 App Delegate 中的 UIToolbar 的背景:
[[UIToolbar appearance] setBackgroundImage:
[UIImage imageNamed:@"toolbarbackground.png"]
forToolbarPosition:0 barMetrics:UIBarMetricsDefault];
图像宽度为 768 像素(iPad 纵向屏幕宽度的大小)。当我旋转为横向时,图像不会拉伸以填充新的屏幕宽度(1024 像素)。如何在旋转时拉伸以适应屏幕的 UIToolbar 上的自定义背景图像?
【问题讨论】:
【参考方案1】:工具栏是否自动调整大小?如果没有,设置它的自动调整大小掩码:
[myToolbar setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin]
如果工具栏自动调整大小而图像仍然没有,请将图像视图的contentMode
设置为UIViewContentModeScaleToFill
。
【讨论】:
【参考方案2】: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];
【讨论】:
以上是关于旋转到横向时拉伸 UIToolbar 背景图像的主要内容,如果未能解决你的问题,请参考以下文章