swift - 如何在 Swift 中访问 ScrollView 中的各个 View

标签 swift uiscrollview viewcontroller

我对 Swift 还很陌生。我正在创建一个使用 UIScrollView 来显示多个 UIViews 的应用程序(如 Snapchat)。我正在尝试在 ScrollView 中包含的多个 View Controller 上实现开关。

我的目标是当一个开关打开时所有开关都关闭,因此一次只能打开一个开关(因此开关在其他 View Controller 中关闭) 。

我无法完成此操作,因为当您加载 ScrollView 时,其中包含的 subview 仅在运行时加载一次,并且当您滑动到下一个 View / View Controller 时, View Controller 的 viewdidload 永远不会已调用。

是否有我可以调用加载或某些东西(或调用其他 View Controller 的viewdidLoad)的方法来加载下一个 View Controller ?

我在 stackoverflow 上找不到任何与此相关的信息。我尝试创建类的变量并调用一个方法,该方法具有 viewdidload 方法具有另一个 View 的所有内容,但这不起作用。我还尝试创建一个方法,该方法具有 viewdidload 方法具有类型方法的所有内容,但这也不起作用。我还能做些什么吗?

最佳答案

没有。 viewDidLoad() 仅在 View 加载时才会被调用。

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

关于swift - 如何在 Swift 中访问 ScrollView 中的各个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37716303/

相关文章:

arrays - 如何获取另一个数组中的数组元素?

swift - 将不带参数的函数自身传递给函数(如 map/filter 等)不会调用函数,而是包装为没有参数的 block

ios - XCUITests中,如何等待多个ui元素的存在?

swift - 水平 ScrollView 在快速滚动期间上下跳跃

ios - 推送 View Controller 和添加 Controller View 有什么区别?

xcode - 字典末尾的逗号 - swift

ios - 实现多个 UITableView 的最佳方式

ios - 在 UITableViewCell 中扩展 UITextView 在底部留下间隙

ios - 如何在 View Controller 中触发协议(protocol)功能?

ios - 如何正确管理内存栈和 View Controller ?