私のView Controllerには、次のコードがあります
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%s",__PRETTY_FUNCTION__);
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:201.0/255.0 green:201.0/255.0 blue:201.0/255.0 alpha:1.0];
}
ボタンをクリックすると、このビューでMFMailComposeViewController
モーダルに表示されます。モーダルで表示するMFMailComposeViewController
と、ナビゲーションバーは で設定した色と同じ色になりviewWillAppear
ます。Appleがこのビューをカスタマイズしないと言ったように、デフォルトの青色が必要です。ここに私が試した私のコードがあります
コード 1:
-(void)sendEmailWithWithRecipients:(NSArray*)recipients andData:(NSData*)data {
if ([MFMailComposeViewController canSendMail]){
MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
mailComposeViewController.mailComposeDelegate = self;
self.navigationController.navigationBar.tintColor = nil;
[self presentModalViewController:mailComposeViewController animated:YES];
[mailComposeViewController release];
}
else {
[self showAlertWithTitle:@"Alert" andMessage:@"Can not send email. Please check your email settings."];
}
}
しかし、上記のコードは色合いでは機能しません
コード 2: 色合いを設定するviewWillDisappear
-(void)viewWillDisappear:(BOOL)animated {
NSLog(@"%s",__PRETTY_FUNCTION__);
self.navigationController.navigationBar.tintColor = nil;
[super viewWillDisappear:animated];
}
コード 2 も機能しません。
しかし、これは iOS5 では、モーダルで表示している間は設定せずに正常に動作しています。動作していない iOS 4.xtintColor = nil
MFMailComposeViewController
viewWillDisappear
誰もこれに対する解決策を持っていますか? ありがとう。