我是xamarin的新手。我正在设计一个使用SignaturePad的应用程序。签名使用内存流转换为字节,并且在Android中工作正常。但是在IOS中我得到异常指定的强制转换无效或无效的强制转换Exception.Below是我实现的代码。
SignaturepadView.Xaml代码:
<Grid VerticalOptions="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<signature:SignaturePadView x:Name="padView"
Grid.Row="0"
Grid.ColumnSpan="2"
HeightRequest="100"
WidthRequest="240"
BackgroundColor="#887e70"
PromptText=""
CaptionText=""
PromptTextColor="Red"
StrokeColor="#ece6dd"
StrokeWidth="3" />
<Button Grid.Row="1"
Grid.Column="0"
Text="Save Signature"
Clicked="OnSaveClicked"/>
<Button Grid.Row="1"
Grid.Column="1"
Text="Clear"
Clicked="OnClearClicked"/>
</Grid>
在Xaml.cs中
private async void OnSaveClicked(object sender, EventArgs e)
{
var format = SignatureImageFormat.Png;
var image = await padView.GetImageStreamAsync(format);`
var signatureMemoryStream = (MemoryStream)image;
byte[] data = signatureMemoryStream.ToArray();
DependencyService.Get<IPicture>().SavePictureToDisk("signimage", data);
}
这在Android中工作正常。但我得到异常指定的强制转换无效或IOS的无效强制转换异常。我做错了吗?请帮我。在此先感谢。
注意:我在PCL,Android和IOS中也安装了包https://components.xamarin.com/view/signature-pad。抱歉我的英文。