如何使 Xamarin.Forms 滚动视图不将内容推离屏幕?
How can I make Xamarin.Forms Scroll view NOT push content off screen?
我发布并回答了我自己的问题,因为这个问题花了我几天的时间才弄清楚,最后我做了一些半生不熟的事情,然后 个月 后来我找到了真正的答案,我想把它留给其他人。
问题:要使 iOS 文本输入元素向上滚动并在键盘出现时保持可见,在 Xamarin Forms 中,最简单的方法是使用 ScrollView
,但出于某种原因,任何时候你使用 ScrollView
该死的东西会调整其内容的大小,以便其中的一些内容稍微偏离屏幕。
内容不在ScrollView
:
里面的内容ScrollView
:
如您所见,出于某些该死的原因,ScrollView 对如何布局其内容有自己的看法,并且该意见是其中的某些内容应该 始终 关闭-屏幕。
到底是什么?我已经尝试过更改布局并使用不同类型的嵌套视图并调整布局选项和边距以及我能想到的一切。该死的布局总是在我不告诉它的情况下改变!
我如何让它表现出来?
ScrollView 有一个 Orientation
设置来确定它可以滚动的方向。您可以在 XAML 中将其设置为 Neither
,您的所有内容都将返回到应有的位置。
请注意,如果您真的想要滚动行为,这会把事情搞砸。但是,如果你只是使用 ScrollView
来获得它在键盘出现和消失时的良好行为,就像我通常那样,那应该无关紧要。
我发布并回答了我自己的问题,因为这个问题花了我几天的时间才弄清楚,最后我做了一些半生不熟的事情,然后 个月 后来我找到了真正的答案,我想把它留给其他人。
问题:要使 iOS 文本输入元素向上滚动并在键盘出现时保持可见,在 Xamarin Forms 中,最简单的方法是使用 ScrollView
,但出于某种原因,任何时候你使用 ScrollView
该死的东西会调整其内容的大小,以便其中的一些内容稍微偏离屏幕。
内容不在ScrollView
:
里面的内容ScrollView
:
如您所见,出于某些该死的原因,ScrollView 对如何布局其内容有自己的看法,并且该意见是其中的某些内容应该 始终 关闭-屏幕。
到底是什么?我已经尝试过更改布局并使用不同类型的嵌套视图并调整布局选项和边距以及我能想到的一切。该死的布局总是在我不告诉它的情况下改变!
我如何让它表现出来?
ScrollView 有一个 Orientation
设置来确定它可以滚动的方向。您可以在 XAML 中将其设置为 Neither
,您的所有内容都将返回到应有的位置。
请注意,如果您真的想要滚动行为,这会把事情搞砸。但是,如果你只是使用 ScrollView
来获得它在键盘出现和消失时的良好行为,就像我通常那样,那应该无关紧要。