removeFromSuperview没有

时间:2015-11-09 13:41:36

标签: ios swift tvos apple-tv

我在tvOS项目中有这段代码

var loader: UIViewController! 

。 。

override func viewDidLoad() {
    super.viewDidLoad()
    loader = storyboard!.instantiateViewControllerWithIdentifier("appLoader")
        addChildViewController(loader)
        view.addSubview(loader.view)
        loader.didMoveToParentViewController(self)
        getMovieData()
}

按预期添加视图控制器。后来,当我想摆脱appLoader

queryOperation.completionBlock = {() -> Void in
        dispatch_async(dispatch_get_main_queue(), { // avoids autolayout error

            self.loader.view.removeFromSuperview()
            self.collectionView1.reloadData()
            self.collectionView2.reloadData()

        })

appLoader仍然在collectionViews

之后

我是Swift和iOS编程的新手,并且假设我缺少一些简单而基本的东西。我很困惑 - 不知道如何构建这个问题。

我想要完成的是显示一个非常简单的加载器屏幕,直到getMovieData的数据可用。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不好意思说这是一个简单的修复。

在Xcode的Debug View Hieracrchy中查看应用程序之后,我意识到还有一个额外的ControllerView也称为appLoader与segue相关联。删除segue代码后,所有代码都应该正常工作。