我提出CNContactPickerViewController
(强烈引用的ivar):
contactsViewController = [[CNContactPickerViewController alloc] init];
contactsViewController.delegate = self;
[self presentViewController:contactsViewController animated:YES completion:nil];
但是,结果如下:
在遇到问题后,我尝试更改搜索栏的外观(不确定我应该设置什么,只是尝试):[[UISearchBar appearanceWhenContainedInInstancesOfClasses:@[[CNContactPickerViewController class]]] setBarTintColor:[UIColor redColor]];
但它没有做任何事情。
为什么会发生这种情况,我该如何解决?
更新:我已在联系人视图控制器上尝试了以下各种组合:
automaticallyAdjustsScrollViewInsets
definesPresentationContext
edgesForExtendedLayout
modalPresentationStyle
modalPresentationCapturesStatusBarAppearance
然而,没有根本没有变化。它们都会产生相同的结果。
答案 0 :(得分:0)
我在其他一些删除视图控制器上也遇到了同样的问题。
我有一些代码在app启动时使用代理设置外观,看起来很可疑。我已禁用在应用启动时设置外观代理的代码,问题就消失了。经过调查,我发现了罪魁祸首:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
我正在使用它来使导航栏背景在某些地方完全透明,尽管这是旧设计遗留下来的东西,并不需要。我删除了这条线,问题就消失了。
答案 1 :(得分:0)
UINavigationBar.appearance().isTranslucent = false
在展示控制器之前添加此行。
它对我有用!