Swift 3尝试显示其视图不在窗口层次结构中

Moa*_*han 5 xcode ios swift

这个问题已被多次询问,但即使在尝试了大部分可能的事情后,我仍然无法找到适合我的解决方案.这是错误消息.

警告:尝试在视图不在窗口层次结构中的<0x7f8f29e17590>上显示!

注意:我没有使用任何导航控制器.

我只是模态地呈现一个视图控制器,我有一个按钮,用于linkedIn注册.但每次我点击"确认"按钮时都会出现此错误,但我无法看到新的linkedIn对话框,尽管它在其他类中工作正常.

大多数解决方案建议在viewDidAppear中处理按钮单击已经尝试过,但它不起作用.

我正在使用此代码打开linkedIn注册表单

linkedinHelper.authorizeSuccess({ [unowned self] (lsToken) -> Void in

        print("success lsToken: \(lsToken)")
        self.requestProfile()
        }, error: { [unowned self] (error) -> Void in

            print("Encounter error: \(error.localizedDescription)")
        }, cancel: { [unowned self] () -> Void in

            print("User Cancelled!")
    })
Run Code Online (Sandbox Code Playgroud)

Moa*_*han 7

我已经解决了这个问题,主要问题正是它所说的视图不在视图层次结构中.为了解决此问题,我们需要使用appDelegate对象将根视图控制器设置为当前视图控制器.因此,视图现在位于视图层次结构中,并且能够呈现更多视图.这是代码

let initialViewController = UIStoryboard(name: "Main", bundle:nil).instantiateInitialViewController() as UIViewController
let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
appDelegate.window?.rootViewController = initialViewController
Run Code Online (Sandbox Code Playgroud)

请阅读此内容以获取更多信息./sf/answers/1932616311/