伙计们,NavigationController
面临一个奇怪的问题。现有的答案根本没有帮助!!!!
以下是该应用的基本情景:
- 有两种观点 - 主视图和第二视图
- 在主视图中,当我碰巧使用segue进入第二个视图时有一个按钮。
- 在我在文本视图中输入某个字段并单击名为“join”的按钮后的第二个视图中,它会触发“joinMeeting()”函数 和会面应该加入。
醇>
但是,当我这样做时,调试器会告诉我:
“警告:尝试出席 < ***。ViewController:*****>谁的观点不在窗口 层次!“
所以我已经阅读了大部分内容并且认为它是因为 viewDidAppear 方法而发生的,但我必须在 viewDidAppear 之前完成。点击按钮后,一切都会发生。
成功调用了joinMeeting()并且print方法返回0表示没有问题(https://developer.zoom.us/docs/ios/error-codes/)且成功的SDK连接但是在调试器中显示“警告”错误之后没有任何反应应用
如果有帮助,则触发joinBtn的代码:
/**
Triggers when Join Button is clicked from second view.
*/
@IBAction func joinMeeting(_ sender: Any) {
if( activityID.text == "" ) {
let alert = UIAlertController(title: "Field is Blank", message: "Activity ID cannot be blank.", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
return;
}
let ms: MobileRTCMeetingService? = MobileRTC.shared().getMeetingService()
if ms != nil {
ms?.delegate = self;
// //For Join a meeting
let paramDict: [AnyHashable: Any] = [
kMeetingParam_Username: kSDKUserName,
kMeetingParam_MeetingNumber: activityID.text!,
]
let ret: MobileRTCMeetError? = ms?.joinMeeting(with: paramDict)
print("onJoinaMeeting ret:\(String(describing: ret))")
}
}
如果有人知道或了解我在这里缺少的东西,请提供帮助。
答案 0 :(得分:0)
以下是解决问题的方法:
故事板配置: ViewController --Segue:Show - > JoinViewController
@IBAction func onClickJoin(_ sender: AnyObject) {
//Main storyBoard
let initialVC = UIStoryboard(name: "Main", bundle:nil).instantiateInitialViewController() as! UIViewController
let appDelegate = (UIApplication.shared.delegate as! AppDelegate)
appDelegate.window?.rootViewController = initialVC
//Rest of the code
}
答案 1 :(得分:0)
只需在要在其中执行调用的控制器上添加以下代码:
override func viewWillAppear(_ animated: Bool) {
let appDelegate = UIApplication.shared.delegate as? AppDelegate
appDelegate?.window?.rootViewController = self
}
答案 2 :(得分:0)
不幸的是,以上解决方案都不适合我。 所以这是我的解决方案。
添加此行
MobileRTC.shared().setMobileRTCRootController( self.navigationController)
=>当用户点击加入呼叫按钮时。
确保这些条件也应满足。