如何在 Swift 中访问 scrollView 中的各个视图

How to access individual views within a scrollView in Swift

我是 swift 的新手。我正在创建一个使用 UIScrollView 显示多个 UIViews 的应用程序(如 Snapchat)。我正在尝试在滚动视图中包含的多个 viewcontroller 上实现开关。

我的目标是当一个开关打开时所有的开关都关闭,所以一次只能打开一个开关(所以开关在其他视图控制器)。

我无法完成此操作,因为当您加载滚动视图时,其中包含的子视图仅在 运行 时加载一次,并且当您滑动到下一个时 view/viewcontroller , viewcontroller 的 viewdidload 永远不会被调用。

是否有我可以调用的方法来加载或调用其他方法(或调用其他视图控制器的 viewdidLoad)来加载下一个视图控制器?

我在 Whosebug 上找不到任何关于此的信息。我尝试创建一个 class 的变量并调用一个方法,该方法具有 viewdidload 方法对另一个视图的所有内容,但这没有用。我还尝试制作一个方法,该方法具有 viewdidload 方法具有类型方法的所有内容,但这也不起作用。还有什么我可以做的吗?

没有。 viewDidLoad() 只会在加载视图时调用。

或者,您可以尝试在 scrollView 中放置多个 views,而不是放置 viewControllers。如果所有视图都在同一个 viewController 中,那么您将能够向您的开关添加一个操作,您可以在其中执行所需的逻辑来关闭它们。