Ios 导航回UITabbarController主屏幕时视图控制器视图放置错误
我的应用程序中有一个tabbarcontroller,并在情节提要和segues的帮助下添加了视图控制器 当我在第二个tabbar项中时,我有一个表视图,其中嵌入了一个导航控制器,其中填充了用户名,顶部有一个汉堡包图标,我从汉堡包图标中的表列表中选择一个特定项,并导航到我使用过的segues的详细视图控制器,下面给出了相同的代码Ios 导航回UITabbarController主屏幕时视图控制器视图放置错误,ios,uitabbarcontroller,uistoryboard,uistoryboardsegue,Ios,Uitabbarcontroller,Uistoryboard,Uistoryboardsegue,我的应用程序中有一个tabbarcontroller,并在情节提要和segues的帮助下添加了视图控制器 当我在第二个tabbar项中时,我有一个表视图,其中嵌入了一个导航控制器,其中填充了用户名,顶部有一个汉堡包图标,我从汉堡包图标中的表列表中选择一个特定项,并导航到我使用过的segues的详细视图控制器,下面给出了相同的代码 self.performSegueWithIdentifier("MY_DETAIL_SEGUE_NAME", sender: nil) MY_DETAIL_SEGU
self.performSegueWithIdentifier("MY_DETAIL_SEGUE_NAME", sender: nil)
MY_DETAIL_SEGUE_NAME实际上是SWRevealViewControllerSeguePushController
的自定义推送序列,推送工作正常,我可以导航到详细信息屏幕
问题:由于我在点击后退按钮的第二个选项卡栏项目中,我需要显示第二个选项卡栏项目的初始视图/主视图控制器,即朋友视图列表,因此在后退按钮上,我在详细信息屏幕中编写了以下代码
@IBAction func moveBackToController(sender: AnyObject) {
self.performSegueWithIdentifier("showFriendListPage", sender: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
let objParentTabbar = segue.destinationViewController as! ParentTabbarController
if segue.identifier == "showFriendListPage" {
objParentTabbar.selectedIndex = 1
}
}
showFriendListPage:这是一个使用SWRevealViewControllerSeguePushController的firendlist页面的自定义序列,指向tabbarcontroller
为了突出显示第二个选项卡项,我使用了在详细信息屏幕中编写的以下代码
@IBAction func moveBackToController(sender: AnyObject) {
self.performSegueWithIdentifier("showFriendListPage", sender: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
let objParentTabbar = segue.destinationViewController as! ParentTabbarController
if segue.identifier == "showFriendListPage" {
objParentTabbar.selectedIndex = 1
}
}
这里发生的情况是,当我导航回第二个选项卡项的主屏幕时,我的视图被扭曲,即UI元素没有按照第一次转到第二个选项卡项时的正确顺序放置
注意:所有“我的视图”控制器都嵌入到导航控制器中,因此结构是
TabbarController----->NavigationController------>ViewController
请建议我哪里出了问题,需要做些什么来解决这个问题,我唯一的困难是视图被扭曲了,我真的不知道为什么会发生这种情况。通过应用程序中的代码调用视图您的控制器应该做到这一点
objParentTabbar.selectedViewController?.viewWillAppear(true)