除了在模态视图控制器中使用 UIAppearance 样式吗?

Posted

技术标签:

【中文标题】除了在模态视图控制器中使用 UIAppearance 样式吗?【英文标题】:Use UIAppearance styling except in modal view controllers? 【发布时间】:2012-02-10 08:17:37 【问题描述】:

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

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

这适用于我自己的所有导航栏。

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

是否可以定义诸如“模态显示时不使用此外观”之类的例外?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于除了在模态视图控制器中使用 UIAppearance 样式吗?的主要内容,如果未能解决你的问题,请参考以下文章

旋转设备时表格视图更新无效

在 Xcode 中使用 CoreData 从模态视图控制器重新加载视图

IOS:在模态视图控制器中清除以前的内容

推然后模态然后推?

如何使用 UISplitViewController 作为模态视图控制器?

在模态视图被解除后,父视图控制器中是不是有一个委托被调用?