Uygulamamdaki gezinme denetleyicilerinde UIAppearance protokolü kullanılarak ayarlanmış bir özel navBar resmi var. Ancak, uygulama üzerinden posta gönderirken (MFMailComposeViewController
aracılığıyla), özel olan yerine varsayılan navBar'ı istiyorum. Bu soruda özetlenen yaklaşımı denedim: UIAppearance Remove Custom NavBar Background for UIPopoverController ama işe yaramadı. Kullandığım kod:UIAppearance MFMailComposeViewController için Özel NavBar Arka Planını Kaldırma
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Ancak bunun hiçbir etkisi yoktu. Uygulamam iOS 6+. Bu, MFMailComposeViewController
'a özgü bir şey mi yoksa bundan bir şey mi eksik?
Düzenleme: diğer yaklaşımlar teşebbüs:
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
mailer.navigationBar.barStyle = UIBarStyleBlack;
[self.navigationController presentViewController:mailer animated:YES completion:nil];
[mailer.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
UIBarStyleBlack
Ayar gibi bazı etkiye sahiptir "İptal" butonuna sonradan siyaha döner, ama arka plan görüntüsü hala eski değerine ayarlanır. Böyle
Dışarı çıkmanın tek yolu "UIAppearance" işlevini kullanmamak, ancak görüntüyü tek tek gereken bu gezinme denetleyicilerinde ayarlamak gibi görünüyor. – SaltyNuts
Bunu UIAppearance ile nasıl yapacağınızı anlatan bir şansınız oldu mu? –
Hayır, yalnızca çalışan çözüm UIAppearance özelliğini kullanmayı bırakmak ve istediğiniz stili her bir navara ayrı ayrı ayarlamaktı. – SaltyNuts