具有嵌套水平 ScrollView 的垂直 ScrollView 在每次数据填充后未正确定位

Vertical ScrollView with nested horizontal ScrollView not positioned correctly after each data population

提问人:John Furth 提问时间:8/18/2023 更新时间:8/18/2023 访问量:49

问:

在 iPad(但不是 iPhone 或 Android 平板电脑)上,每次填充元素后,带有数据并相应地重新生成布局后的 ScrollView 最初出现在屏幕上的错误位置。但是,在从横向旋转到纵向后,反之亦然,ScrollView 的定位是正确的,在旋转回原始方向后,定位是正确的。

定位不正确(旋转前)

正确定位(旋转后)

元素的嵌套层次结构如下:

网 格 网格固定 网页视图 网格部分 滚动视图 滚动堆栈布局 gridWorkSteps(网格工作步骤) 标签 堆栈赛格 标签,标签,标签...... scrollHView 堆栈参数 堆栈布局 标签,标签,标签...... 堆栈布局 进入,进入,进入...... 堆栈布局 进入,进入,进入...... 堆栈布局 拣蛋器,拣蛋器,拣蛋器...... . . . .

stackParams 下的每个 StackLayout 都填充了当前部件的每个工作步骤(最初和每次加载不同部件时)与其对应的参数的数据。

将 stackParams 直接放在 gridWorkSteps 下(从层次结构中删除水平 ScrollView 和 scrollHView)可以避免此问题,但参数(列)太多,无法放入固定视图中。此外,还有无限多的工作步骤,因此垂直的 ScrollView 也是必要的。

通过反复试验,我发现我可以通过在数据填充完成后 100 毫秒再次重新生成布局来缓解这个问题。有了这个污点,错位仍然会发生,但只是在纠正之前短暂地发生。(如果根本没有出现错位,我会认为 kludge 是可以接受的。

在iPhone或Android平板电脑上都不会出现此问题。

iOS iPad UIDscrollView 毛伊岛

评论

0赞 Jason 8/18/2023
请在发布前阅读如何提问
0赞 John Furth 8/18/2023
谢谢你,杰森,这个回应。您能具体说明我如何改进我的问题吗?
1赞 Jason 8/18/2023
发布相关代码。您发布了几段描述复杂 UI 的文本,而发布实际代码(或代表性子集)会更有效率。查看最小可重复示例
0赞 ToolmakerSteve 8/18/2023
这很可能是毛伊岛试图测量/定位这种复杂布局的一个微妙错误。启动一个新的 Maui 项目。输入足够的代码来导致错误。尽可能简化。将最相关的代码(作为可复制的文本)添加到问题中。此外,还可以创建一个可以运行的公共 github 存储库。如果没有人发现可以进行的修复,则使用指向该存储库的链接进行新的修复。github maui issue
0赞 H.A.H. 8/18/2023
你得到的非常有趣的案例。我真的很想看看你的页面xaml文件。

答: 暂无答案