2 votes

Plugin Phonegap Barcodescanner - XIB personnalisé pour l'iPad et l'iPhone

J'ai inclus avec succès le plugin Phonegap Barcodescanner de Github iOS Phonegap Plugins .

La méthode de balayage fonctionne. Je l'ai testé sans fichier XIB personnalisé. Il montre à la fois sur l'iPad et l'iPhone une belle superposition.

window.plugins.barcodeScanner.scan(success, fail)

Ainsi qu'un XIB personnalisé que j'ai suivi pas à pas dans les instructions.

window.plugins.barcodeScanner.scan(success, fail, ["BarcodeOverlay"])

Mais je suis confronté à un problème : Mon XIB personnalisé a un aspect étrange, que ce soit sur l'iPad ou sur l'iPhone. Quelqu'un sait-il comment le plugin gère cela avec le XIB standard ?

2voto

ilmgb Points 780

Pour info, j'ai résolu le problème en personnalisant la classe CDVBarcodeScanner.mm et la méthode buildOverlayFromXib.

- (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;        

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X