首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Phonegap插件-为iPad和iPhone定制XIB

Phonegap插件-为iPad和iPhone定制XIB
EN

Stack Overflow用户
提问于 2013-03-09 08:00:01
回答 1查看 1.3K关注 0票数 2

我有成功地包括了Github iOS Phonegap插件的Phonegap插件Barcodescanner

扫描方法有效。我在没有自定义XIB文件的情况下测试了它。它在iPad和iPhone上都显示了一个很好的覆盖。

代码语言:javascript
运行
复制
window.plugins.barcodeScanner.scan(success, fail)

以及显示一个自定义的XIB,我已经一步一步地遵循了说明。

代码语言:javascript
运行
复制
window.plugins.barcodeScanner.scan(success, fail, ["BarcodeOverlay"])

但我面临一个问题:无论是在iPad上还是在iPhone上,我的定制XIB看起来都很奇怪。,有人知道插件是如何用标准的XIB?来处理这个问题的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-16 09:07:21

通过自定义CDVBarcodeScanner.mm类,方法buildOverlayFromXib来解决这个问题

代码语言:javascript
运行
复制
- (UIView *)buildOverlayViewFromXib 
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    // iPad-specific interface here
    self.alternateXib = @"BarcodeOverlay_iPad";
    [[NSBundle mainBundle] loadNibNamed:self.alternateXib owner:self options:NULL];
}
else if (IS_IPHONE_5) {
    self.alternateXib = @"BarcodeOverlay_iPhone5";
    [[NSBundle mainBundle] loadNibNamed:self.alternateXib owner:self options:NULL];
}
else
{
    // iPhone and iPod touch interface here
    self.alternateXib = @"BarcodeOverlay_iPhone";
    [[NSBundle mainBundle] loadNibNamed:self.alternateXib owner:self options:NULL];
}

if ( self.overlayView == nil )
{
    NSLog(@"%@", @"An error occurred loading the overlay xib.  It appears that the overlayView outlet is not set.");
    return nil;
}

return self.overlayView;        

}

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

https://stackoverflow.com/questions/15308565

复制
相关文章

相似问题

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