【问题标题】:iOS Swift Segmented control with container view for switching - views are not loading first timeiOS Swift 分段控件与用于切换的容器视图 - 视图未首次加载
【发布时间】:2018-06-21 05:43:32
【问题描述】:

我已经按照这个 tut https://spin.atomicobject.com/2015/09/02/switch-container-views/ 创建了一个带有两个容器视图的分段控制器。

我的问题是未显示应用程序启动时的第一个视图。单击第二段也没有任何作用。

只有在第三次点击之后才会加载这些视图。

这很奇怪,因为我已经下载了 tut 中的代码,它工作得非常好,但是当我创建自己的项目并按照上面 tut 所示的完全相同的步骤时它不起作用。

谁能指出我可能遗漏了什么?

请参阅随附的屏幕截图。当我运行应用程序时,第一段是默认段,但在下面的视图中它会加载第二段。

接下来,当我点击 Second 时,它什么也不做。

只有在第三次点击之后才会加载正确的片段。

【问题讨论】:

标签: ios swift xcode uisegmentedcontrol


【解决方案1】:

您可以尝试在方法 viewDidLoad 之后添加此代码,以便在应用加载后显示动画。

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    UIView.animateWithDuration(0.5, animations: {
            self.containerViewA.alpha = 1
            self.containerViewB.alpha = 0
        }
}

【讨论】:

  • 感谢它的工作。我仍然想知道为什么它在教程代码中完美运行,为什么不适合我,知道吗?
  • @Matt ,你有一个只有一个视图控制器的项目吗?您是在为这个控制器或 pushViewController 使用礼物吗?我不知道,需要审查你的项目。您可以将您的档案发送给我,我会为您审核您的项目。
  • 示例中的该教程有它自己的代码,位于:github.com/woelmer/EasyWayToSwitchContainerViews 如果您下载并运行它,您将看到它自动运行良好,无需添加任何显式代码来设置默认选定段。试一试。
  • @Matt 是的,我试过了。但是我从 url 下载的项目对我不起作用,我删除了段的操作并再次添加,之后它开始运行良好。您可以删除序列并再次添加并检查情节提要上的 viewController 参数。如果您将代码发送给我,我可以查看您的应用程序是否正常运行并发现问题。
猜你喜欢
  • 2015-04-20
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 2021-07-26
  • 2013-04-10
相关资源
最近更新 更多