1

300*90 ピクセルのストーリーボードから作成された ZBarReaderView を持っています。ZBarReaderView はサイズをあまり重要視しないため、おおよそ 200*400 ピクセルとして表示されます...

IBOutlets を次のように宣言します。

@interface MYQViewController : UIViewController < ZBarReaderViewDelegate >
{
    ZBarReaderView *readerView;
    ZBarCameraSimulator *cameraSim;
    UITextView *resultText;
}
@property (strong, nonatomic) IBOutlet ZBarReaderView *readerView;
@property (strong, nonatomic) IBOutlet UITextView *resultText;
@end

ビューでDidLoad

-(void) viewDidLoad
{
 readerView.readerDelegate = self;
 readerView.zoom=1;
 if(TAGET_IPONE_SIMULATOR)
{
 cameraSim=[[ZBarCameraSimulator alloc] initWithViewController:self];
 cameraSim.readerView=readerView;
}
}

-(void)Scan
{
    if(readerView.hidden)
    {
         [readerView start];
         readerView.hidden = NO;
         resultText.text=EMPTY_STRING;
    }
    else
    {
         [readerView stop];
         readerView.hidden = YES;
         //OTHER CODES        
    }
}

-(void) readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet * )symbolsfromImage:(UIImage *)image
{
    for (ZBarSymol *sym in symbols)
    {
        self.resultText.text=sym.data;
        break;
    }
}
4

1 に答える 1

4

同様の問題を解決する必要がありました。Storyboard で UIView を作成し、それにクラスとして ZBarReaderView を割り当てました。ZBarViewReaderView を開始すると、ビューが大幅に拡張されました。

サンプル コード (EmbeddedReader) を自分のコードと比較しながら解決策を見つけました。それは非常に簡単でした:

Storyboard または Interface Builder で、ビューが選択されている場合は、[サブビューのクリップ] チェックマークをオンにする必要があります。これで、カメラの画像は正確にあるべき場所にとどまります。

ストーリーボードのプロパティのスクリーンショットを次に示します。

小切手

私が助けてくれることを願っています。

于 2012-10-23T14:03:03.513 に答える