为啥我们没有 UIBarMetricsLandscapePad?
Posted
技术标签:
【中文标题】为啥我们没有 UIBarMetricsLandscapePad?【英文标题】:Why don't we have UIBarMetricsLandscapePad?为什么我们没有 UIBarMetricsLandscapePad? 【发布时间】:2013-01-27 16:53:44 【问题描述】:如何在细节拆分视图中为导航栏设置不同的背景图像,以便它处于横向而不是纵向时?
这是我使用的代码
[self.topNavbar setBackgroundImage:[UIImage imageNamed:@"nav-bar-portrait-ipad"]
forBarMetrics:UIBarMetricsDefault];
[self.topNavbar setBackgroundImage:[UIImage imageNamed:@"nav-bar-landscape-ipad"]
forBarMetrics:UIBarMetricsLandscapePhone];
当 splitView 旋转为横向时,永远不会调用 UIBarMetricsLandscapePhone。纵向 (768 px) 模式下 detailView 的宽度与横向 (704 px) 模式下的宽度不同,那么我们如何为每个设置不同的图像呢?
【问题讨论】:
【参考方案1】:导航栏在 iPad 上的不同方向不会改变高度,因此没有单独的栏指标(不需要不同高度的图像)。
在 iPhone 上,横向导航栏比纵向导航栏短,因此需要不同的图像(渐变图像不能很好地缩放)。导航背景通常一直是相同的,因此宽度通常不是考虑因素。
如果您想在旋转时更改图像,则必须响应旋转事件。
【讨论】:
我意识到高度不会改变,但宽度会改变。我不知道为什么苹果认为我们不需要新的条形指标? 你的图片是什么样的?里面有什么需要改变的?您可以使用带有左右帽子插图的可调整大小的图像吗? 它基本上是一种皮革效果活页夹,例如 cdn4.raywenderlich.com/wp-content/uploads/2012/05/… 不知道如何使这种类型的图像可调整大小...... 也许是平铺的,但您需要小心设计它的方式? (在 ios6 中,您可以为可调整大小的图像指定平铺模式而不是拉伸)以上是关于为啥我们没有 UIBarMetricsLandscapePad?的主要内容,如果未能解决你的问题,请参考以下文章
RxSwift 为啥我们没有调用 dispose 会有内存泄漏
为啥我们没有在 Spark-Cassandra-Connector 中定义一个 ReaderBuilder 来从 cassandra DB 读取数据