【问题标题】:how to make a view not programmatically as cameraoverlay view如何使视图不以编程方式作为相机覆盖视图
【发布时间】:2013-06-20 13:52:31
【问题描述】:

我需要创建一个cameraoverlay 视图(添加到ZBar sdk reader),我的问题是如何以编程方式创建我不需要的所有对象。现在我以编程方式创建所有对象,然后将它们添加到myView,并使用myView 作为cameraoverlay 视图。

[self.myView addSubview: myImage];
[self.myView addSubview: self.mylabel];
[self.myView addSubview: myButton];

reader.cameraOverlayView=self.myView;

我尝试添加另一个控件视图并为其添加了一个视图,然后制作了一个标签栏并尝试了这个不起作用的代码:

TestViewController *test=[[TestViewController alloc]init];
reader.cameraOverlayView=test.testView;

以编程方式制作对象对我来说很难找到在xcode 中创建的对象的源代码吗?例如,当我在xcode 中创建自定义按钮时,我可以找到为此按钮生成的源代码吗?只需将其复制到我的程序中即可。

【问题讨论】:

    标签: objective-c cocoa-touch zbar-sdk zbar


    【解决方案1】:

    有几种可行的方法

    • 在代码中创建自定义容器视图。添加 zbar 视图和任何自定义视图(顶部的扫描仪图形等)。这是我最近做的。

    • 创建一个基于 xib 的视图,并在其中包含 zbar 视图。查看“对象”组件。

    • 从 xib 加载自定义视图并添加它们。

    如果您有时间,我建议您投资学习如何以编程方式创建视图。

    这涉及:

    • 在您的视图控制器中覆盖 loadView 方法。

    • 返回包含子视图的 UIView 的自定义子类。其中包括 zbar 视图和您的叠加层。

    • 了解如何在 UIView 上使用 layoutSubviews 方法。提示设置您的子视图相对于父视图边界的框架。

    Github 上有大量自定义组件。查看 DCSwitch 或 CMPoptip,或阅读对 ManiacDev 的贡献。

    * 根据要求 - 成功扫描后添加子视图 *

    - (void)readerView:(ZBarReaderView*)view didReadSymbols:(ZBarSymbolSet*)symbols fromImage:(UIImage*)image
    {
        for (ZBarSymbol* symbol in symbols)
        {
            [self presentScannedOverlay];
            [_scanInProgressOverlay setAnimating:NO];
            [_readerView stop];
            [_delegate didScanPayload:symbol.data];
            break;
        }
    }
    
    
    - (void)presentScannedOverlay
    {
        //Be sure to override layoutSubviews, so that you can position the view below, 
        //relative to its parent. . if you already know the size of the parent, just replace
        //CGRectZero with CGRectMake(some values)
        _scannedOverlayView = [MyOverlayView alloc] initWithFrame:CGRectZero]; 
        [self addSubView:scannedOverlayView];
    }
    

    【讨论】:

    • 你告诉我 ManiacDev 非常棒,如果你能告诉我更多有用的网站,我非常感谢,因为我是初学者。
    • 你知道,我想做的是在检测到代码后在 CAMERA 上添加一层信息,该层包含按钮、标签栏......你建议我如何实现这个?您能否通过示例代码向我提供建议我的选项。
    • 添加了你想要的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多