Удаление пользовательской панели Nav на листе электронной почты

У меня этот код в приложении App Delegate:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:*******************];

Это отлично работает, но я использую MFMailComposeViewController и я хочу, чтобы он имел внешний вид NavigationBar по умолчанию.

Как мне это сделать?

РЕДАКТИРОВАТЬ:

Я пробовал этот код:

[[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], [UIViewController class], nil] setBackgroundImage:[UIImage imageNamed:@"Textured Background.png"] forBarMetrics:*******************];

Я также пробовал иметь только этот код. Ничего не меняется. Панель Navbar по умолчанию, включая контроллер Mail View.

Я думаю, что это может быть что-то с appearanceWhenContainedIn: Кто-нибудь знает, что будет содержать MFMailComposeViewController?

2 ответа

Я понял! Здесь код:

[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:*******************];
MFMailComposeViewController *emailVC = [[MFMailComposeViewController alloc] init];
//the rest of the implementation goes here...
[self presentViewController:emailVC animated:YES completion:nil];

Затем я снова установил внешний вид навигационной панели:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
 [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:*******************];
 [self dismissViewControllerAnimated:YES completion:nil];
}


Вы можете попробовать следующее:

[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil]

Это означает, что все панели навигации, содержащиеся в классе MFMailComposeViewController

Из документов: UIAppearance

Это вернет прокси-сервер внешнего вида, чтобы вы могли его изменить следующим образом:

[[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil] setBackgroundImage:myImage];

Надеюсь, это поможет.

licensed under cc by-sa 3.0 with attribution.