Ayt*_*tee 6 c# qr-code xamarin.ios xamarin xamarin.forms
我在网上看到了很多这样的帖子(旧帖子),但似乎没有什么对我有用.我正在尝试从字符串中生成QR码并将其显示在应用程序中.
这就是我在开始时所拥有的
qrCode = new ZXingBarcodeImageView
{
BarcodeFormat = BarcodeFormat.QR_CODE,
BarcodeOptions = new QrCodeEncodingOptions
{
Height = 50,
Width = 50
},
BarcodeValue = codeValue,
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand
};
Run Code Online (Sandbox Code Playgroud)
这适用于Android,但在IOS设备上它根本没有渲染.所以在研究之后我试着这样做:
Image qrCode;
if (Device.OS == TargetPlatform.iOS)
{
var writer = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new ZXing.Common.EncodingOptions
{
Width = 50,
Height = 50
}
};
var b = writer.Write(codeValue);
qrCode = new Image
{
Aspect = Aspect.AspectFill,
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand,
Source = ImageSource.FromStream(() =>
{
MemoryStream ms = new MemoryStream(b);
ms.Position = 0;
return ms;
})
};
}else{
qrCode = new ZXingBarcodeImageView
{
BarcodeFormat = BarcodeFormat.QR_CODE,
BarcodeOptions = new QrCodeEncodingOptions
{
Height = 50,
Width = 50
},
BarcodeValue = codeValue,
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand
};
}
Content = new StackLayout
{
Children = {
header, lblExplenationText, qrCode
},
BackgroundColor = Color.White
};
Run Code Online (Sandbox Code Playgroud)
但是仍然没有任何渲染.
ZXing.Mobile.Forms NuGet包版本:2.1.47(最新)
EvZ*_*EvZ 10
这似乎是一个已知问题。
幸运的是,有一种解决方法,可以设置HeightRequest& WidthRequest,这是一个有效的代码示例:
ZXingBarcodeImageView GenerateQR(string codeValue)
{
var qrCode = new ZXingBarcodeImageView
{
BarcodeFormat = BarcodeFormat.QR_CODE,
BarcodeOptions = new QrCodeEncodingOptions
{
Height = 350,
Width = 350
},
BarcodeValue = codeValue,
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand
};
// Workaround for iOS
qrCode.WidthRequest = 350;
qrCode.HeightRequest = 350;
return qrCode;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4208 次 |
| 最近记录: |