iPhone SDK 3.0 应用内电子邮件 - 更改导航栏色调颜色
Posted
技术标签:
【中文标题】iPhone SDK 3.0 应用内电子邮件 - 更改导航栏色调颜色【英文标题】:iPhone SDK 3.0 in-app email - changing navigation bar tint color 【发布时间】:2009-06-27 04:46:07 【问题描述】:我的应用使用 iPhone SDK 3.0 的新应用内电子邮件功能。
我想将电子邮件 UI 的色调更改为黑色并使其半透明。
我尝试了以下代码,
/*
picker.navigationController.navigationBar.tintColor = [UIColor blackColor];
picker.navigationController.navigationBar.translucent = YES ;
*/
但它改变了创建视图的颜色,
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
撰写窗口,而不是撰写窗口本身。
这至少可能吗?还是我们应该坚持苹果自己提供的蓝色???
【问题讨论】:
【参考方案1】:由于 MFMailComposeViewController 是 UINavigationController 的子类,只需这样做:
[[picker navigationBar] setTintColor:[UIColor redColor]];
【讨论】:
【参考方案2】:iPhone Human Interface Guidelines 不禁止使用自定义颜色,但推荐使用标准颜色(蓝色和黑色)。
【讨论】:
【参考方案3】:是的,这是可能的。
只需在覆盖drawInRect 方法的UINavigationBar 类中添加一个objective-c 类别。 这样你就可以做到。
缺点,你所有的导航栏都会改变:)
【讨论】:
不确定您的应用是否会获得批准。 这对苹果来说没问题。这正是我在我的应用程序中所做的(实际上,是 UINavigationBar 的子类),并且它得到了 Apple 的批准(官方 Dave Matthews Band 应用程序)。截取drawInRect: 来实现自定义UINavigationBar的外观没有错。【参考方案4】:[[picker navigationBar] setTintColor:[UIColor blackColor]];
....使取消和发送按钮也变黑。它们不是蓝色的,按下时不会改变颜色。
【讨论】:
【参考方案5】:你也可以试试这个代码....
MFMailComposeViewController *mailComposeView = [[MFMailComposeViewController alloc] init];
mailComposeView.navigationBar.tintColor = [UIColor cyanColor];
【讨论】:
以上是关于iPhone SDK 3.0 应用内电子邮件 - 更改导航栏色调颜色的主要内容,如果未能解决你的问题,请参考以下文章
在一个可执行文件中使用 iPhone OS 3.0 功能(如果可用)和 2.1 功能(如果不可用)
MAP 与 iPhone 3.0 SDK 一起使用都有哪些限制?
为 iPhone 4 SDK 构建的 Blocks 在部署到 iPhone OS 3.0 时可以工作吗?