问题标签 [scrollviewreader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
50 浏览

swift - WatchOS ScrollReader 代理缓慢滚动

对于 WatchOS,我正在尝试构建一个自动滚动到添加到列表中的最后一项的 ScrollView。这一切都很好,但是一旦 ScrollView 充满了内容,scrollTo函数就会变得非常缓慢和缓慢。此时设置动画持续时间withAnimation无效。任何想法为什么动画开始变慢?提前致谢。

0 投票
0 回答
213 浏览

ios - SwiftUI 选择器不滚动到选择

我正在尝试将 SwiftUI 2 ScrollViewReader 与选择器一起使用,以便点击选择器显示选择器列表以及视图中的当前选择(最好是锚点)。我没有尝试过,包括以下内容,甚至对列表没有任何影响。看起来这应该很简单。

Xcode 12.4、iOS 14.4 任何指导将不胜感激。

0 投票
2 回答
528 浏览

swift - SwiftUI ScrollView 滚动到相对位置

我有一个不适合屏幕的大水平视图,所以我把它放到了一个水平视图中ScrollView。如果 0 代表完全向左滚动,而 1 代表完全向右滚动 - 我怎样才能滚动到 0.8 的相对位置?

由于我无法将 id 附加到子元素ScrollViewReader似乎不起作用。

0 投票
0 回答
80 浏览

swiftui - ScrollViewReader 锚中心创建空闲空间

我想放大滚动视图中的特定元素。我希望它成为一个锚点中心。缩放到左上角元素时,没问题,它可以正常工作。但是,当您放大右上角和底部元素时,会在其周围创建空间。我在图片中展示了。我该如何解决这个问题?谢谢你。

页面的第一个加载版本 第一次加载

放大左上角元素时正常工作 在此处输入图像描述

缩放到以下元素时,会出现这些间隙 在此处输入图像描述

0 投票
0 回答
123 浏览

swift - SwiftUI ScrollViewReader 在调整大小时保留滚动位置

当使用 ScrollViewReader 滚动到某个位置时,例如到宽度的 40% - 当 ScrollView 的内容调整大小时,如何保留滚动位置?

我写了一个小示例应用程序来说明问题:

最初,ScrollView 的 child 的宽度为 1600,滚动位置为 40%。当您单击“将宽度更改为 800”按钮时,子宽度更改为 800,并且 ScrollView 滚动到末尾。我希望 ScrollView 在调整大小后保留滚动位置,或者在调整大小后始终滚动到 40%。

0 投票
1 回答
468 浏览

swift - ScrollViewReader 的 proxy.scrollTo 不滚动

我有这个 SwiftUI 代码,它构建了一个太大而无法在屏幕上显示的大型 UI 视图,因此我将它放在 2D 滚动视图中。虽然此示例是一个网格,但我们假设内容填充得一样多,但项目的放置更加随机。当视图出现时,我希望它首先将这些项目之一居中,在 ID 为“(25,25)”的项目下方的情况下。这编译得很好,文档看起来很好,并且可以运行,但不会滚动到 ID 为“(25,25)”的 ZStack。为什么它不滚动到这个 ZStack?该代码已在 iOS 14 和 iOS 15b1 上进行了测试。

0 投票
1 回答
335 浏览

swiftui - SwiftUI:以编程方式在 ScrollView 上设置滚动动画?

我需要以编程方式为滚动视图的滚动设置动画。滚动视图包含 HStack 或 VStack。我测试的代码是这样的:

滚动视图确实落在带有 的项目上testCid,但是它没有动画。一旦视图出现在屏幕上,滚动视图就已经打开了testCid......

如何为滚动设置动画?

0 投票
1 回答
33 浏览

swiftui - 如何在 SwiftUI 中使用 .onTapGesture 在来自两个不同 api(没有 Button\TextField)的两个列表中使用 ScrollViewReader?

我有一个项目,其中两个不同银行的列表显示货币汇率。我希望当我在第一个列表中选择货币时,第二个列表将自动滚动到相同的货币。我看到了带有按钮的教程,但这不是我需要的。我想使用 onTapGesture,但我不知道如何以正确的方式参与它。ExchangeRatesPB(ccy) 和 ExchangeRatesNBU(cc) 有一些货币的简称:“USD”、“EUR”、“RUR”。无论如何感谢您的帮助。

0 投票
1 回答
76 浏览

swiftui - 使用 SwiftUI 中的列表和可识别协议使 ScrollViewReader 滚动到项目

我不能让 ScrollViewReader 在我的 List() 上滚动。我读过很多这样这样的讨论

我使用具有可识别协议和 id 作为 Int 的模型:

我目前的看法是这样的:

我也尝试使用 an.id()来识别每一行/按钮,但没有成功。我不知道我是否需要id()使用ForEach()该国家/地区的可识别协议来识别每个项目。

一件重要的事情:国家不按其 var id 的逻辑顺序 (1,2,3...) 显示。但即使使用id(country.id)修饰符,它也永远不会滚动到列表的右行/按钮。

我们可以在网上找到的大多数示例都对行使用简单的索引迭代,而不是使用 struct() 的真实模型。

0 投票
2 回答
168 浏览

swiftui - 如何在 SwiftUI 中获得水平 ScrollView 以在更新封闭的文本时自动滚动以结束

我正在编写一个 SwiftUI iOS 应用程序,我需要一个Text视图来在内容更新时自动滚动到其内容的末尾。更新发生在模型中。为了不让这个问题与我的应用程序的细节复杂化,我创建了一个简单的场景,其中我有两个文本字段和一个文本标签。在文本字段中输入的任何文本都会连接起来并显示在文本标签中。文本标签被水平包围,ScrollView如果文本长于屏幕宽度,可以手动滚动。我想要实现的是每当标签更新时文本自动滚动到末尾。

这是简单的模型代码:

这是内容视图:

根据我所做的研究,我发现滚动到文本末尾的唯一方法,而不必手动执行,是在视图中添加一个按钮,这会导致标签中的文本滚动到末尾.

这是上面ScrollView嵌入的 a ScrollViewReader,带有一个按钮来实现滚动动作。

如果意图是使用按钮来实现滚动操作,则此方法有效。

我的问题是:是否可以在模型更新时触发上面的滚动操作,而无需单击按钮。

任何帮助或指示将不胜感激。

谢谢。