简短问题:

推 View Controller 时如何去除蓝色圆圈中的阴影?

长问题:
我的应用程序就像 Facebook 。有一个 NewsFeed View 、Detail post View 和 Page View 。这是我的界面构建器中的内容:
HomeViewController 是 NewsFeed View ,DetailPostViewController 是详细信息页面 View ,FirstViewController 是页面 View 。 HomeViewController 嵌入到 UINavigationController 中,而 UITabBarController 嵌入到 FirstViewController 中。

当我从 DetailPostViewController 推送到 DetailPostViewController 时,这是完全正常的。 (请注意,我不使用 segue 来推送,而是使用 Storyboard ID)

但是当我从 FirstViewController 推送到 FirstViewController 时,导航栏上有一个奇怪的阴影,就像重叠一样。但我不想那样。 (不使用segue,而是使用storyboard ID)

这是我推送到 DetailPostViewController 的代码

var vc = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! FirstViewController
self.navigationController?.pushViewController(vc, animated: true)

如何使从 FirstViewController 到 ojit_code 的推送看起来正常?我尝试使用 segue 但它没有用。尝试了这么久,但仍然没有运气。谢谢。

最佳答案

我遇到过同样的问题。就我而言,我使用 inputAccessoryView 属性在 UIViewController 底部显示我的自定义工具栏

事实证明,问题是因为我的 View Controller 在动画开始时是第一响应者。

我想你应该试试 navigationController?.setToolbarHidden(true, animated: true)当您执行推送时。或者在推送动画之前找到其他隐藏工具栏的方法。

对我来说,此代码修复了问题,以防有人遇到类似问题

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    resignFirstResponder()
}

关于ios - 推送 View Controller 时导航栏上不需要的阴影,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30509143/

10-14 21:01