如何在 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 中,那么您将能够向您的开关添加一个操作,您可以在其中执行所需的逻辑来关闭它们。
我是 swift 的新手。我正在创建一个使用 UIScrollView
显示多个 UIViews
的应用程序(如 Snapchat)。我正在尝试在滚动视图中包含的多个 viewcontroller 上实现开关。
我的目标是当一个开关打开时所有的开关都关闭,所以一次只能打开一个开关(所以开关在其他视图控制器)。
我无法完成此操作,因为当您加载滚动视图时,其中包含的子视图仅在 运行 时加载一次,并且当您滑动到下一个时 view/viewcontroller , viewcontroller 的 viewdidload 永远不会被调用。
是否有我可以调用的方法来加载或调用其他方法(或调用其他视图控制器的 viewdidLoad)来加载下一个视图控制器?
我在 Whosebug 上找不到任何关于此的信息。我尝试创建一个 class 的变量并调用一个方法,该方法具有 viewdidload 方法对另一个视图的所有内容,但这没有用。我还尝试制作一个方法,该方法具有 viewdidload 方法具有类型方法的所有内容,但这也不起作用。还有什么我可以做的吗?
没有。 viewDidLoad()
只会在加载视图时调用。
或者,您可以尝试在 scrollView
中放置多个 views
,而不是放置 viewControllers
。如果所有视图都在同一个 viewController 中,那么您将能够向您的开关添加一个操作,您可以在其中执行所需的逻辑来关闭它们。