我正在使用Xamarin.Forms来构建我的应用程序.在登录页面中,我有以下布局
<ScrollView> <Grid RowSpacing="{StaticResource MediumSpacing}" ColumnSpacing="{StaticResource MediumSpacing}"> <Grid.RowDeFinitions> <RowDeFinition Height="Auto"/> <RowDeFinition Height="*"/> </Grid.RowDeFinitions> <!--Two stackLayouts--> <!--StackLayout 1--> <StackLayout Spacing="0" Padding="0"> <!--Three stacklouts here--> <!--First--> <StackLayout> <StackLayout.Spacing> <OnPlatform x:TypeArguments="x:Double" Android="12" iOS="30" WinPhone="12"/> </StackLayout.Spacing> <StackLayout.Padding> <OnPlatform x:TypeArguments="Thickness" Android="32,24,32,24" iOS="16,16,24" WinPhone="32,24"/> </StackLayout.Padding> <imagecircle:CircleImage HorizontalOptions="Center" VerticalOptions="Center" WidthRequest="95" HeightRequest="95" BorderColor="{StaticResource Primary}" Aspect="AspectFill" x:Name="CircleImageAvatar"/> <Label HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" StyleId="LoginPageIdentifier" LineBreakMode="WordWrap" FontSize="Large" TextColor="{DynamicResource DetailTextColor}" Text="Single Sign On"> <Label.FontSize> <OnPlatform x:TypeArguments="x:Double" Android="15" iOS="15" WinPhone="15"/> </Label.FontSize> </Label> </StackLayout> <!--Second Stack Layout--> <StackLayout> <StackLayout.Padding> <OnPlatform x:TypeArguments="Thickness" Android="32,0" iOS="32,0" WinPhone="32,0"/> </StackLayout.Padding> <StackLayout.Spacing> <OnPlatform x:TypeArguments="x:Double" Android="0" iOS="15" WinPhone="10"/> </StackLayout.Spacing> <toolkit:EntryLine Text="{Binding Email}" Keyboard="Email" HorizontalOptions="FillAndExpand" Placeholder="Email Address" x:Name="EntryEmail" StyleId="EmailTextField" BorderColor="#ECECEC"> <toolkit:EntryLine.HorizontalTextAlignment> <OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/> </toolkit:EntryLine.HorizontalTextAlignment> </toolkit:EntryLine> <toolkit:EntryLine Text="{Binding NamespaceUri}" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Center" Placeholder="Namespace" StyleId="EmailTextField" Keyboard="Text" BorderColor="#ECECEC"> <toolkit:EntryLine.HorizontalTextAlignment> <OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/> </toolkit:EntryLine.HorizontalTextAlignment> </toolkit:EntryLine> </StackLayout> <!--Third Stack Layout--> <StackLayout> <StackLayout.Padding> <OnPlatform x:TypeArguments="Thickness" Android="32,25,0"/> </StackLayout.Padding> <StackLayout.Spacing> <OnPlatform x:TypeArguments="x:Double" Android="0" iOS="16" WinPhone="10"/> </StackLayout.Spacing> <Button Text="Sign In" Command="{Binding LoginCommandSso}" HorizontalOptions="FillAndExpand" StyleId="SignInButton" TextColor="White" BackgroundColor="{StaticResource Primary}"> <Button.FontAttributes> <OnPlatform x:TypeArguments="FontAttributes" iOS="Bold"/> </Button.FontAttributes> </Button> </StackLayout> </StackLayout> <!--StackLayout 2--> <!--Contains activity indicator and Corresponding label--> <AbsoluteLayout> <StackLayout Grid.Row="1" Padding="16,0" VerticalOptions="Center" Orientation="Horizontal" HorizontalOptions="Center" AbsoluteLayout.LayoutFlags="PositionProportional" AbsoluteLayout.LayoutBounds="0.5,0.5,-1,-1" IsVisible="{Binding IsBusy}"> <ActivityIndicator IsRunning="{Binding IsBusy}"> <ActivityIndicator.Color> <OnPlatform x:TypeArguments="Color" Android="{StaticResource Primary}"/> </ActivityIndicator.Color> </ActivityIndicator> <Label Text="{Binding Message}" VerticalOptions="Center" HorizontalOptions="Center" /> </StackLayout> </AbsoluteLayout> <!--Stack Layout 3--> </Grid> </ScrollView>
在Android模拟器上运行时,我可以在“EntryLine”中输入文本,一切似乎都能正常工作.
但是,当我试图在IOS模拟器上运行它时,文本变得不可用,即只读.基本上在IOS模拟器上,StackLayout内部的一切都变成了“ReadOnly”
我也尝试使用表单“Entry”而不是FormsToolKit.EntryLine,但没有结果.
我在上面的代码本身面临一个问题,在xaml中添加一个“Entry”并在IOS模拟器上进行测试工作正常.
已经在Xamarin论坛上提出了同样的问题,但没有找到任何答案.
编辑1 – 添加了完整的堆栈布局.
使用 –
> Visual Studio 2017,Windows 10,Xamarin – 2.3.4.247
FormsToolKit – 1.1.18 IOS – MacBook Air 10.3
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。