【问题标题】:CNContactPickerViewController content bleeds to search bar and status barCNContactPickerViewController 内容流到搜索栏和状态栏
【发布时间】:2018-01-12 17:54:14
【问题描述】:

我正在介绍 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

然而,什么都没有改变。它们都产生相同的结果。

【问题讨论】:

  • 你有没有得到正确的答案?我也遇到同样的问题。 :(
  • @venturidoo 不,设计已更改,我转而从头开始实施新版本。

标签: cocoa-touch uiviewcontroller cncontactpicker


【解决方案1】:

我在其他一些删除视图控制器上也遇到了同样的问题。

我有一些代码在应用启动时使用代理设置外观,这看起来很可疑。我已经禁用了在应用启动时设置外观代理的代码,问题就消失了。经过调查,我找到了罪魁祸首:

[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; 我用它来使导航栏背景在某些地方完全透明,尽管它是旧设计的遗留物,不需要。我已经删除了线路,问题就消失了。

【讨论】:

    【解决方案2】:
    UINavigationBar.appearance().isTranslucent = false
    

    在显示控制器之前添加此行。

    它对我有用!

    【讨论】:

    • 这会修改整个应用程序中导航栏的行为。 + 当您点击实际联系人时,它看起来也不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多