在Xamarin.Forms.iOS中

时间:2016-01-30 17:45:09

标签: ios xaml scroll xamarin.forms

我有一个非常简单的Xamarin.Forms应用程序。 XamlGrid,有一列,两行。第一行包含Entry控件。第二行包含Scrollview,其中包含Editor控件(多行文本框)。第二行的高度为*Scrollview VerticalOptions设置为FillAndExpand

Editor需要在填充时滚动。第一个Entry应该保持原样。

在Android上,Editor控件按预期工作,它会在完全启动时滚动。但是在iOS上,只要键盘弹出,Editor就会向上滚动,将光标向上移开。当它只有几行文字时它也会向上滚动,所以它们就会消失。在iPhone模拟器和物理设备上会出现此问题。

我在Scrollview,网格和入口控件上尝试了所有verticaloptions的组合。什么都没有阻止不必要的滚动。

我无法将ScrollView放在整个网格上,因为我需要第一个条目才能保持可见。

我无法在此网站上添加图片,因此这里是布局的链接:

image link

花哨的颜色只是让我可以看到每个控制开始结束的地方。 我正在使用截至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>

1 个答案:

答案 0 :(得分:1)

进一步更新。我发现Editor控件有自己的滚动。所以我已经删除了它周围的ScrollView。问题仍然存在。一旦编辑器中的文本具有比编辑器高度更多的行,您就无法向下滚动到编辑模式中的最后一行。如果您只想查看文本就可以了,但只要点击屏幕将其置于编辑模式,就无法进入最后一行。我已将其部署到iPhone 4(作为最低标准)并拍摄了一个屏幕截图。请参阅绿色编辑器底部的1111111?下面有更多文字,但您无法在编辑模式下访问它。同样的事情发生在模拟器和iPad 3上。

iPhone4 Screenshot

这似乎是Xamarin编辑控制的根本缺陷。请有人确认是否正在解决此问题或是否有解决方法?