防止在Xamarin.Forms.iOS中自动滚动编辑器
我有一个非常简单的Xamarin.Forms应用程序。防止在Xamarin.Forms.iOS中自动滚动编辑器,ios,xaml,scroll,xamarin.forms,Ios,Xaml,Scroll,Xamarin.forms,我有一个非常简单的Xamarin.Forms应用程序。Xaml是一个包含一列和两行的网格。第一行包含一个条目控件。第二行包含一个滚动视图,其中包含一个编辑器控件(多行文本框)。第二行的高度是*。滚动视图垂直选项设置为FillAndExpand 编辑器填充时需要滚动。第一个条目应保持原样 在Android上,编辑器控件按预期工作,当它满的时候会滚动。但在iOS上,只要键盘弹出,编辑器就会向上滚动,将光标移到看不见的地方。当它只有几行文字时,它也会向上滚动,所以它们会消失。这种行为发生在iPhone
Xaml
是一个包含一列和两行的网格。第一行包含一个条目
控件。第二行包含一个滚动视图
,其中包含一个编辑器
控件(多行文本框)。第二行的高度是*
。滚动视图
垂直选项
设置为FillAndExpand
编辑器填充时需要滚动。第一个条目应保持原样
在Android上,编辑器
控件按预期工作,当它满的时候会滚动。但在iOS上,只要键盘弹出,编辑器就会向上滚动,将光标移到看不见的地方。当它只有几行文字时,它也会向上滚动,所以它们会消失。这种行为发生在iPhone模拟器和物理设备上
我在Scrollview、grid和entry控件上尝试了verticaloptions的所有组合。没有任何东西可以阻止不需要的滚动
我不能在整个网格中放置滚动视图,因为我需要第一个条目保持可见
我还无法在此网站上添加图片,因此这里有一个指向布局的链接:
花哨的颜色只是为了让我能看到每个控件的开始和结束。
我使用的是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>
进一步更新。我发现编辑器控件有自己的滚动。所以我删除了它周围的滚动视图。这个问题仍然存在。一旦编辑器中的文本的行数超过编辑器的高度,则无法在编辑模式下向下滚动到最后一行。如果您只想查看文本,也可以,但只要您点击屏幕将其置于编辑模式,就无法进入最后一行。我已经将其部署到iPhone4上(作为最低公分母),并进行了屏幕截图。请参见绿色编辑器底部的1111111?下面有更多的文本,但在编辑模式下无法访问。同样的事情也发生在模拟器和iPad3上
这似乎是Xamarin编辑器控件的一个基本缺陷。请有人确认是否解决了这个问题,或者是否有解决办法?这里的问题与此完全相同。Xamarin的人还没有修复。