UINavigationBar titleView 用于不同的方向
Posted
技术标签:
【中文标题】UINavigationBar titleView 用于不同的方向【英文标题】:UINavigationBar titleView for different orientation 【发布时间】:2012-04-26 14:01:06 【问题描述】:当方向改变时,调整 UINavigationBar titleview 内容图像大小的最佳方法是什么。 我有一个 44px 高度的图像和另一个 32px 的图像,旋转视图后,我更改了 titleview 并设置了新的 imageview。但也许还有另一种方法可以通过 autoresizingmask 或其他技巧来实现某些结果?
【问题讨论】:
【参考方案1】:autoresizingMask 可以在设备旋转时修改视图框架的大小,但是如果您想在旋转发生时在两个不同的图像之间切换,则必须在 willAnimateRotationToInterfaceOrientation:duration:
中以编程方式进行操作
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
[super willAnimateRotationToInterfaceOrientation:interfaceOrientation duration:duration];
if (interfaceOrientation == UIDeviceOrientationLandscapeRight || interfaceOrientation == UIDeviceOrientationLandscapeLeft)
// landscape
[imageView setImage:landscapeImage];
else
// portrait
[imageView setImage:portraitImage];
【讨论】:
但是什么方式是最好的并且不会影响性能?通过使用自动调整大小的蒙版或更改图像来调整 imageview 框架的大小?以上是关于UINavigationBar titleView 用于不同的方向的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationBar titleView 比栏本身高
UINavigationBar titleView 用于不同的方向
防止 UINavigationItem 的 TitleView 闪烁