防止自動滾動編輯器我有一個非常簡單的Xamarin.Forms應用程序。 Xaml
是帶有一列和兩行的Grid
。第一行包含一個Entry
控件。第二行包含一個Scrollview
,其中包含一個Editor
控件(多行文本框)。第二排的高度是*
。 Scrollview
VerticalOptions
設置爲FillAndExpand
。Xamarin.Forms.iOS
Editor
需要在填滿時滾動。第一個Entry
應該保持在原來的位置。
在Android上,Editor
控件按預期工作,它在滾動時滾動。但在iOS上,一旦鍵盤彈出,Editor
就會向上滾動,將光標放在視線之外。當它只有幾行文字時它也會滾動,所以它們消失。這種行爲發生在iPhone模擬器和物理設備上。
我已經嘗試了滾動視圖,網格和入口控件上的verticaloptions的所有組合。沒有什麼能夠阻止不需要的滾動。
我不能把一個ScrollView放在整個網格上,因爲我需要第一個Entry來保持可見。
我不能在此網站添加的圖片,所以這裏是一個鏈接的佈局:
的花哨的顏色只是這樣我就可以看到每個控制開始的結束。 我使用截至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>