Gur*_*mel 5 xaml scroll ios xamarin.forms
我有一个非常简单的 Xamarin.Forms 应用程序。这Xaml是Grid一列两行。第一行包含一个Entry控件。第二行包含一个Scrollview,其中包含一个Editor控件(多行文本框)。第二行的高度是*。该Scrollview VerticalOptions设置为FillAndExpand。
在Editor需要时,它填补了滚动。第一个Entry应该留在原地。
在 Android 上,Editor控件按预期工作,当它装满时会滚动。但是在 iOS 上,一旦键盘弹出,就会向上Editor滚动,将光标移到视线之外。当它只有几行文本时,它也会向上滚动,因此它们消失了。此行为发生在 iPhone 模拟器和物理设备上。
我已经在 Scrollview、网格和条目控件上尝试了所有垂直选项的组合。没有什么可以阻止不需要的滚动。
我不能在整个网格周围放置 ScrollView,因为我需要第一个条目保持可见。
我还不能在这个网站上添加图片,所以这里是布局的链接:
花哨的颜色只是为了让我可以看到每个控件的开始和结束位置。我使用的是截至 2016 年 1 月的最新版本。
<Grid Padding="5,5,5,5" RowSpacing="5" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" BackgroundColor="White" >
<!--One colum-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!--- 2 rows (0-1). 0=title, 1=body-->
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- row 0 Title -->
<Entry x:Name="txtTitle" Grid.Row="0" Grid.Column="0" BackgroundColor="Gray" TextColor="Black" />
<!-- row 1 Editor -->
<ScrollView Grid.Row="1" Grid.Column="0" BackgroundColor="Red" Padding="5,5,5,5" >
<!--Making the Editor FillAndExpand makes no difference-->
<Editor x:Name="txtBody" Grid.Row="1" Grid.Column="0" BackgroundColor="Olive"/>
<!-- -->
</ScrollView>
</Grid>
Run Code Online (Sandbox Code Playgroud)
进一步更新。我发现编辑器控件有自己的滚动。所以我删除了它周围的ScrollView。问题仍然存在。一旦编辑器中的文本行数超过编辑器的高度,您将无法在编辑模式下向下滚动到最后一行。如果您只想查看文本,那没问题,但是一旦您点击屏幕将其置于编辑模式,您就无法到达最后一行。我已将其部署到 iPhone 4(作为最低公分母)并拍摄了屏幕截图。看到绿色编辑器底部的1111111了吗?下面还有更多文本,但您无法在编辑模式下访问它。同样的事情也发生在模拟器和 iPad 3 上。
这似乎是 Xamarin 编辑器控件的一个根本缺陷。请有人确认这个问题是否正在解决或者是否有解决方法?
| 归档时间: |
|
| 查看次数: |
2123 次 |
| 最近记录: |