假设您有一些包含某些内容的Xamarin Forms ScrollView控件 .
内容是这样的;当设备处于纵向方向时,它完全适合视口,但是当设备处于横向方向时,它会延伸到视口之外 .
问题
当您将设备旋转到横向并将内容滚动到底部时,然后将其旋转回纵向,内容不会重置且无法滚动 - 它现在位于页面的一半 .
这似乎是Xamarin Forms中的一个错误,因为它只发生在iOS而不是Android . 也就是说,可能需要一段时间才能解决问题 . 我正在寻找有关如何在同一时间预防/克服这种情况的建议?可能使用自定义渲染器?
以下是重现该问题的解决方案:https://github.com/afalz/ScrollViewIssue
1 回答
我看到你正在使用一个共享项目(Xamarin.Forms) . 在IOS项目中编程时,您可以设置ScrollView的ContentSize以适应布局的更改(横向,纵向) .
然后,您可以使用覆盖ViewDidRotate方法并更改ContentSize属性 .
对于您的示例,我认为您最好实现一个在每次更改屏幕布局时调用的方法,就像ViewDidRotate方法一样,并将ScrollView.Content.HeightRequest更改为新的屏幕大小 .
我希望这有帮助 . 祝好运!