reason: 'Unknown key, "NSColor"in title text attributes dictionary
2803 ワード
iOS 6とiOS 7の互換性の問題は、内部メールインタフェースを呼び出すと、異常なクラッシュが発生し、iOS 7でテストされていたが、すべて正常だったが、iOS 6で突然クラッシュした.具体的なコードは以下の通りである.
注意:真ん中にメールナビゲーションタイトルを設定するコードがあり、次の異常が発生します.
ソリューションは次のとおりです.
1、このメールのタイトルを修正するコードを削除して、役に立たないようで、汗..
2,バージョン判定#define OS_VERSION [[UIDevice currentDevice].systemVersion floatValue]
iOS 6とiOS 7のメール送信機能に適しています.
個人開発者夢工場の微推:www.micropush.cn
- (void)showMessageViewWithRecipients:(NSArray *)recipients body:(NSString *)bodyMess
{
if( [MFMessageComposeViewController canSendText] ){
<span style="font-family: Arial, Helvetica, sans-serif;"> [[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];</span>
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor darkGrayColor],NSForegroundColorAttributeName, [UIFont fontWithName:@"HelveticaNeue-CondensedBlack" size:21.0], NSFontAttributeName, nil]];
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.recipients = recipients;
controller.body = bodyMess;
controller.messageComposeDelegate = self;
[self presentViewController:controller animated:NO completion:nil];
}else{
[self alertWithTitle:@" " msg:@" "];
}
}
注意:真ん中にメールナビゲーションタイトルを設定するコードがあり、次の異常が発生します.
Assertion failure in NSDictionary *_UIRecordArgumentOfInvocationAtIndex(NSInvocation *, NSUInteger, BOOL)(), /SourceCache/UIKit/UIKit-2380.17/UIAppearance.m:1118
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unknown key, "NSColor" in title text attributes dictionary'
ソリューションは次のとおりです.
1、このメールのタイトルを修正するコードを削除して、役に立たないようで、汗..
2,バージョン判定#define OS_VERSION [[UIDevice currentDevice].systemVersion floatValue]
- (void)showMessageViewWithRecipients:(NSArray *)recipients body:(NSString *)bodyMess
{
if( [MFMessageComposeViewController canSendText] ){
if (OS_VERSION>=7.0) {
[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor darkGrayColor],NSForegroundColorAttributeName,[UIFont fontWithName:@"HelveticaNeue-CondensedBlack" size:21.0], NSFontAttributeName, nil]];
}
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.recipients = recipients;
controller.body = bodyMess;
controller.messageComposeDelegate = self;
[self presentViewController:controller animated:NO completion:nil];
}else{
[self alertWithTitle:@" " msg:@" "];
}
}
iOS 6とiOS 7のメール送信機能に適しています.
個人開発者夢工場の微推:www.micropush.cn