【发布时间】:2016-01-21 07:47:15
【问题描述】:
我的应用程序中有一个 tabbarcontroller,并在 storyboard 和 segues 的帮助下添加了视图控制器,
当我在第二个标签栏项目中时,我有一个嵌入了导航控制器的表格视图,其中填充了用户名,在顶部我有一个汉堡包图标,我从汉堡包图标中的表格列表中选择一个特定项目并导航到我使用 segues 的细节视图控制器,下面给出的是相同的代码
self.performSegueWithIdentifier("MY_DETAIL_SEGUE_NAME", sender: nil)
MY_DETAIL_SEGUE_NAME 实际上是SWRevealViewControllerSeguePushController 的自定义推送segue,推送工作正常,我可以导航到详细信息屏幕。
问题:由于我在点击后退按钮的第二个标签栏项目中,我需要显示第二个标签栏项目的初始视图/主视图控制器,即朋友视图列表,所以在后退按钮上,我在详细屏幕中编写了以下代码
@IBAction func moveBackToController(sender: AnyObject) {
self.performSegueWithIdentifier("showFriendListPage", sender: nil)
}
showFriendListPage:这是使用SWRevealViewControllerSeguePushController 到firendlist 页面的自定义segue,并指向tabbarcontroller
为了突出显示第二个标签栏项目,我使用了以下在详细屏幕中编写的代码
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
请建议我哪里出了问题以及需要做些什么来解决这个问题,我唯一的困难是视图被扭曲了,我真的不知道为什么会这样。
【问题讨论】:
标签: ios uitabbarcontroller uistoryboard uistoryboardsegue