2016-01-30 32 views
3

防止自動滾動編輯器我有一個非常簡單的Xamarin.Forms應用程序。 Xaml是帶有一列和兩行的Grid。第一行包含一個Entry控件。第二行包含一個Scrollview,其中包含一個Editor控件(多行文本框)。第二排的高度是*ScrollviewVerticalOptions設置爲FillAndExpandXamarin.Forms.iOS

Editor需要在填滿時滾動。第一個Entry應該保持在原來的位置。

在Android上,Editor控件按預期工作,它在滾動時滾動。但在iOS上,一旦鍵盤彈出,Editor就會向上滾動,將光標放在視線之外。當它只有幾行文字時它也會滾動,所以它們消失。這種行爲發生在iPhone模擬器和物理設備上。

我已經嘗試了滾動視圖,網格和入口控件上的verticaloptions的所有組合。沒有什麼能夠阻止不需要的滾動。

我不能把一個ScrollView放在整個網格上,因爲我需要第一個Entry來保持可見。

我不能在此網站添加的圖片,所以這裏是一個鏈接的佈局:

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

進一步更新。我發現編輯器控件有自己的滾動功能。所以我已經移除了ScrollView。問題依然存在。一旦編輯器中的文本的行數超過了編輯器的高度,則無法向下滾動到編輯模式下的最後一行。如果您只想查看文本,那很好,但只要您點擊屏幕將其置於編輯模式,就無法進入最後一行。我已經將這部署到iPhone 4(作爲最低公分母)並拍攝了屏幕截圖。請參閱綠色編輯器底部的1111111?下面有更多的文字,但你不能在編輯模式下進入。同樣的事情發生在模擬器,並在iPad 3

iPhone4 Screenshot

這似乎與Xamarin的編輯控制一個根本的缺陷。請有人確認是否正在解決這個問題,或者是否有解決方法?