xamarin.forms - Xamarin表单-ScrollView-ScrollToAsync到底部无法按预期工作

标签 xamarin.forms scrollview

我有一个屏幕,其中使用堆栈布局和scrollview显示注释列表。用户可以在Xamarin Forms(Android和iOS应用)的滚动 View 的末尾添加一个注释,然后单击“提交”将添加一个注释。要求是向上滚动此列表以显示最新的显示注释元素。为此,我使用了下面的代码行,但它不会向上滚动到最后一个元素,而是倒数第二个元素。我在IOS和Android上都观察到了它。

await scrollView.ScrollToAsync(stkMain, ScrollToPosition.End, true);

下面的图片会给出更多的想法。

enter image description here

如图所示,尽管我已经使用上面的代码滚动到结尾,但是堆栈布局3在屏幕上不可见。我必须向上滚动滚动 View 才能看到堆栈布局3。

预期的行为-滚动 View 应滚动到屏幕上显示的最后一个元素为止。如果我做的不好,请提出建议。

我忘记提及的一件事是,当我在 Debug模式下在具有scrolToAsync方法的行上创建点时。断点击中那条线,如果我击中F5,将使最后一个元素可见。我很惊讶地看到它,但是它发生了

最佳答案

添加新注释元素操作完成后,请增加一些延迟,然后尝试滚动到stkMain的最后一个子项。

像这样的东西:

var lastChild = stkMain.Children.LastOrDefault();
if(lastChild != null)
    scrollView.ScrollToAsync(lastChild, ScrollToPosition.MakeVisible, true);

关于xamarin.forms - Xamarin表单-ScrollView-ScrollToAsync到底部无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47039518/

相关文章:

ios - Xcode;根据其内容自动设置 UIScrollView 的高度

c# - 使用 resx 文件进行本地化会生成 MissingManifestResourceException

audio - Xamarin本地通知自定义声音无法播放

elasticsearch - 使用 Xamarin.Forms 与 NEST 的 Guid ID 比较不起作用

c# - 在 Xamarin Forms 中添加多个标签

android - 如何检查 ScrollView 是否滚动到底部android studio

ios - 图像未加载到 UITableViewCell Swift 中

android - 在 Recyclerview 中拖动项目时自动滚动滚动条

xaml - 为什么我的网格有一些内部间距?

android - 如何在父 View (ScrollView)中处理 subview (自定义 View )的触摸事件?