gpt4 book ai didi

ios - 使用 setContentOffset 滚动到特定页面

转载 作者:行者123 更新时间:2023-11-28 08:13:39 30 4
gpt4 key购买 nike

我正在为 iPad pro 12.9 创建家谱应用程序。这是我在 Storyboard 中看到的布局。

Family Tree Layout

我创建了一个高大的 View Controller 来容纳家庭的 3 层,带有 3 个容器 View 的 ScrollView 链接到更多 View Controller 和 ScrollView 以显示有关祖 parent 、 parent 和 child 的信息。

当用户点击家谱中的按钮转到信息时,我无法以编程方式滚动到右侧部分。我想要行动去点击人物按钮 -> 转到高 View Controller -> 滚动到垂直滚动的 ScrollView 的右侧级别 -> 在祖 parent / parent / child ScrollView 中滚动到右侧级别。

我为每个 ScrollView 和 View Controller 设置了类。

在 TreeViewController.swift 我有

    @IBAction func sarah(_ sender: Any) {

VerticalScrollView.contentOffset(CGPoint(x: 0, y: 1024), animated:false)
performSegue(withIdentifier: "showPeople", sender: self)
}

这是一个向下移动垂直 View Controller 的按钮,然后执行转场。

我认为这是类而不是类的实例?如何访问实例?我这样做是对的吗?谢谢。

最佳答案

你需要在你的 destinationViewController 上定义一个像这样的属性

var scrollTo : CGPoint?

然后你必须在你的 TreeViewControllerprepareForSegue 方法中实现类似这样的东西

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showPeople"{
if let fullTreeViewController = segue.destination as? FullTreeViewController{
if(sender is btnSarah)
{
fullTreeViewController.scrollTo = CGPoint(x: 0, y: 1024)
}
}
}
}

然后在你的 destinationViewController

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if(self.scrollTo != nil){
self.verticalScrollView.contentOffset(self.scrollTo, animated:false)
}

}

希望对你有帮助

关于ios - 使用 setContentOffset 滚动到特定页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43059876/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com