iOS – UIAppearance appearanceWhenContainedIn问题

前端之家收集整理的这篇文章主要介绍了iOS – UIAppearance appearanceWhenContainedIn问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的导航栏设置图像,如下所示:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];

然后我不希望这个图像用于MFMessageComposeViewController的类,所以我通过这样做排除它:

[[UINavigationBar appearanceWhenContainedIn:[MFMessageComposeViewController class],nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

但它没有任何效果(导航栏仍然使用我的图像在MFMessageComposeViewController中设置样式).我在这里想念的是什么?

解决方法

找到我的问题的解决方案:

子类MFMessageComposeViewController

在init方法中,将navigationBar的backgroundImage设置为nil

瞧!

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {
        // Custom initialization
        [self.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

    }
    return self;
}
原文链接:https://www.f2er.com/iOS/331669.html

猜你在找的iOS相关文章