gpt4 book ai didi

ios - iPhone plus 和 iPad UIBarMetrics(导航栏的不同横向/纵向图像)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:13 25 4
gpt4 key购买 nike

如何在 iPhone (6-6s-7) plus 或 iPad 上为横向和纵向的导航栏背景设置 2 个不同的(例如红色和绿色)图像?

[[UINavigationBar appearance] setBackgroundImage:redImage
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:greenImage
forBarMetrics:UIBarMetricsCompact];

不适用于 iPad 或 iPhone * plus,只是始终在两个方向上使用 redImage。但适用于所有其他 iPhone(我猜甚至是 iPod)。

此外,阅读有关 iPhone 和 iPad/iPhone plus 之间的条形指标(以及其他任何内容)差异的内容会很棒,因为它(导航栏背景图像)不仅仅是一个具有特定行为的东西(iPhone plus , iPad) 我已经意识到(表格 View 中的不同分隔符插图等)。

谢谢你。

最佳答案

您可以将您的 View Controller 类(或其他可以控制状态栏的类)订阅到UIApplicationDidChangeStatusBarOrientationNotification .在处理程序中,您应该更新背景图片:

<...>
if ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait ||
[UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
image = redImage;
}
else
{
image = greenImage;
}
<...>

您不能为此使用 UIBarMetrics,因为您的任务使用界面方向作为标准,但 UIBarMetrics 基于 size classes .因此,您不能使用外观来实现所需的行为。

我建议您创建 UINavigationBar 的自定义子类并在其中实现该逻辑。

关于ios - iPhone plus 和 iPad UIBarMetrics(导航栏的不同横向/纵向图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41300110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com