【问题标题】:How to present view controller with Tab Bar如何使用 Tab Bar 呈现视图控制器
【发布时间】:2021-09-09 18:00:26
【问题描述】:

我的应用在登录后的第一个屏幕上以标签栏控制器开始:

稍后,用户可以通过按主页按钮点按以返回该屏幕。代码是:

self.present(self.mealPlanViewController, animated: true, completion: nil)

问题是当他们回到那个视图控制器时,标签栏不再存在。

如何再次显示带有 Tab Bar 的视图控制器?

【问题讨论】:

    标签: ios swift xcode uitabbarcontroller presentviewcontroller


    【解决方案1】:

    你说:

    “稍后用户可以点击返回该屏幕,方法是按下主页按钮。代码是:”

    self.present(self.mealPlanViewController, animated: true, completion: nil)
    

    这是错误的。你没有“回到”任何事情。您以模态方式呈现self.mealPlanViewController。这意味着它被置于一切之上。如果self.mealPlanViewController 之前出现在屏幕上,可能会发生不好的事情。

    为了帮助您解决问题,您需要解释您的视图控制器层次结构和屏幕之间的流程。您的标签栏控制器类的名称是什么?显示为选项卡的视图控制器?您如何从标签栏控制器转到包含主页按钮的屏幕?

    【讨论】:

    • 非常感谢您的评论!这帮助我理解了这个概念,并引导我朝着正确的方向前进。然后我找到了答案,我把它贴在这里。
    【解决方案2】:

    我已经弄明白了——请看下面:

    1. 我将@IBAction func unwindToContainerVC(segue: UIStoryboardSegue) {} 添加到我想返回的视图控制器中。这增加了一个 Action Segue。

    2. 我将 segue 添加到情节提要中并给它一个标识符“unwindToMealPlanViewController”

    3. 我在完成按钮中添加了以下代码:self.performSegue(withIdentifier: "unwindToMealPlanViewController", sender: nil)

    这些是解决这个问题的一些非常有用的资源:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多