首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在xamarin ios中打开摄像头时出现白屏

在xamarin ios中打开摄像头时出现白屏
EN

Stack Overflow用户
提问于 2019-07-03 19:26:41
回答 1查看 403关注 0票数 0

当通过zxing打开摄像头进行二维码扫描时,当它正确扫描二维码时,会出现白屏而不是白屏?

下面是我的代码:

代码语言:javascript
运行
复制
namespace Kefi.Controls
{
    public class CustomScanPage : ContentPage
    {
        ZXingScannerView zxing;
        public CustomScanPage() : base()
        {
            zxing = new ZXingScannerView
            {
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.Center

            };
            NavigationPage.SetHasNavigationBar(this,false);
            zxing.OnScanResult += (result) =>
                Device.BeginInvokeOnMainThread(() =>
                {
                    zxing.IsAnalyzing = false;
                    zxing.IsScanning = false;
                    MessagingCenter.Send(result, "Scanresult");
                });
            var grid = new Grid
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
            };
        }
        protected  override void OnAppearing()
        {
            base.OnAppearing();
            zxing.Options.DelayBetweenAnalyzingFrames = 5;
            zxing.Options.DelayBetweenContinuousScans = 5;
            zxing.IsScanning = true;

        }

        protected override void OnDisappearing()
        {
            zxing.IsScanning = false;
            base.OnDisappearing();
        }

    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-07-04 15:18:49

您甚至没有将scannerView添加到contentPage,所以它不会显示。添加一个简单的StackLayout来保存scannerView,然后将其设置为ContentPageContent

代码语言:javascript
运行
复制
public CustomScanPage() 
        {

            zxing = new ZXingScannerView
            {
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions = LayoutOptions.CenterAndExpand,
                BackgroundColor = Color.Orange              
            };
            NavigationPage.SetHasNavigationBar(this, false);
            zxing.OnScanResult += (result) =>
                Device.BeginInvokeOnMainThread(() =>
                {
                    zxing.IsAnalyzing = false;
                    zxing.IsScanning = false;
                    MessagingCenter.Send(result, "Scanresult");
                });

            var layout = new StackLayout();
            layout.BackgroundColor = Color.Red;
            layout.Children.Add(zxing);

            Content = zxing;
        }

或者,您也可以在xaml中自定义scannerView,请参阅此处的博客:scanning-generating-barcodes-zxing

如果它对你有效,请让我知道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56869079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档