iOS 7 の最新のバーコード API を使用して、検出されたバーコードの上に赤い四角形を描画しようとしています。境界とコーナーをなんとか引き込むことができましたが、その情報を取得して自分のビューに適用する方法がよくわかりません。
viewDidLoad メソッドで、見つかったバーコードをオーバーレイするために使用するビューを定義します。
//Initialize Laser View
laserView = [[UIView alloc] init];
laserView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin;
laserView.layer.borderColor = [UIColor redColor].CGColor;
laserView.layer.borderWidth = 2;
[self.view addSubview:laserView];
didOutputMetadataObjects で、レーザー ビューを準備し、バーコードの境界とコーナーを取り込みます。
//Prepare Laser View's frame
CGRect laser = CGRectZero;
laser = barcodeObject.bounds;
NSLog(@"Bounds: %@", NSStringFromCGRect(barcodeObject.bounds));
NSLog(@"Frame: %@", barcodeObject.corners);
//Update Laser
laserView.frame = laser;
私の最近の実行では、私が得た境界について:{{7.0565414, 314.25}, {265.26062, 1.499999}}
および私が得たコーナーについて:
(
{
X = "7.056541";
Y = "314.25";
},
{
X = "7.056541";
Y = "315.75";
},
{
X = "272.3172";
Y = "315.75";
},
{
X = "272.3172";
Y = "314.25";
}
)
バーコードの周りに cgrect をしっかりとラップできるようにしたい。これが私がやろうとしていることの例です: