除了模态视图控制器之外,是否使用 UIAppearance 样式?

发布于 2024-12-27 08:55:14 字数 607 浏览 1 评论 0原文

我使用 iOS 5 中引入的 UIAppearance API 自定义了所有导航栏的外观:

[[UINavigationBar appearance] setTitleTextAttributes:titleTextAttributes];
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:+2.f forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setTintColor:[UIColor lightTextColor]];

这对于我自己的所有导航栏都非常有用。

但是,它还为所有系统提供的导航栏设置样式,例如当我以模态方式显示 MFMailComposeViewController 时(请参见下面的屏幕截图)或使用 ABPeoplePicker 。

是否可以定义异常,例如“以模态方式显示时不要使用此外观”?

Inadvertently样式系统导航栏

I customized the appearance of all my navigation bars by using the UIAppearance API introduced in iOS 5:

[[UINavigationBar appearance] setTitleTextAttributes:titleTextAttributes];
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:+2.f forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setTintColor:[UIColor lightTextColor]];

This works great for all my own navigation bars.

However, it also styles all system-provided navigation bars, such as when I modally display an MFMailComposeViewController (see screenshot below) or use the ABPeoplePicker.

Is it possible to define exceptions such as “don’t use this appearance when shown modally”?

Inadvertently styled system navigation bar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七七 2025-01-03 08:55:14

看一下appearanceWhenContainedIn选项,这允许您选择外观适用于哪个视图控制器类

take a look at appearanceWhenContainedIn option, this allows you to select which viewcontroller class the appearance applies to

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文