【问题标题】:Presenting ViewController will be loaded but does not appear呈现的 ViewController 将被加载但不出现
【发布时间】:2017-10-10 08:16:39
【问题描述】:

呈现的 ViewController 似乎已加载,但屏幕实际上并未重新加载。触摸屏幕后,可以看到 ViewController。 这是我的instantiateViewController 代码:

let v = self.storyboard?.instantiateViewController(withIdentifier: "BrowsingDaragaViewController") as! BrowsingDaragaViewController
self.present(v, animated: true, completion: nil)

BrowsingDaragaViewController 中没有附加代码。 viewDidAppear() 函数在我触摸屏幕之前不会被调用。 我将 Xcode 9 与 Swift4 一起使用。

编辑:

演示代码在tableview(didSelectedRow at indexPath) 中,但是当我使用按钮操作时,它可以正常工作

【问题讨论】:

  • 您能在故事板中向我们展示您的屏幕吗?
  • 我用新的视图控制器替换它,没有更多元素但仍然是同样的问题
  • 在当前视图中点击一个按钮并在点击事件中放入 BrowsingDaragaViewController 推送代码
  • 在推动它工作正常
  • 你确定在主线程吗?

标签: ios swift


【解决方案1】:

如果您使用过任何手势识别器,请将其移除并检查是否导致问题?

如果您没有使用手势识别器,请在didSelectRowAtIndexPath 中使用以下代码

// Your stuff
DispatchQueue.main.async(execute: {
   self.present(yourViewControllerHere, animated: true, completion: nil)
})
// Your stuff

仍然面临问题,然后确保您的 tableView 在您的 XIB 或 StoryBoard 中设置了单一选择。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 2018-02-27
相关资源
最近更新 更多