當前位置:編程學習大全網 - 編程語言 - ios 中用zbar怎樣自定義界面

ios 中用zbar怎樣自定義界面

這個簡單的實例實在ZBarReaderViewController的view層上再加壹層用於定義自己的界面

-?(void)QRscan

{

ZBarReaderViewController?*reader?=?[ZBarReaderViewController?new];

reader.readerDelegate?=?self;

//非全屏

reader.wantsFullScreenLayout?=?NO;

//隱藏底部控制按鈕

reader.showsZBarControls?=?NO;

//設置自己定義的界面

[self?setOverlayPickerView:reader];

ZBarImageScanner?*scanner?=?reader.scanner;

[scanner?setSymbology:?ZBAR_I25

config:?ZBAR_CFG_ENABLE

to:?0];

[self?presentModalViewController:?reader

animated:?YES];

[reader?release];

}

-?(void)setOverlayPickerView:(ZBarReaderViewController?*)reader

{

//清除原有控件

for?(UIView?*temp?in?[reader.view?subviews])?{

for?(UIButton?*button?in?[temp?subviews])?{

if?([button?isKindOfClass:[UIButton?class]])?{

[button?removeFromSuperview];

}

}

for?(UIToolbar?*toolbar?in?[temp?subviews])?{

if?([toolbar?isKindOfClass:[UIToolbar?class]])?{

[toolbar?setHidden:YES];

[toolbar?removeFromSuperview];

}

}

}

//畫中間的基準線

UIView*?line?=?[[UIView?alloc]?initWithFrame:CGRectMake(40,?220,?240,?1)];

line.backgroundColor?=?[UIColor?redColor];

[reader.view?addSubview:line];

[line?release];

//最上部view

UIView*?upView?=?[[UIView?alloc]?initWithFrame:CGRectMake(0,?0,?320,?80)];

upView.alpha?=?0.3;

upView.backgroundColor?=?[UIColor?blackColor];

[reader.view?addSubview:upView];

//用於說明的label

UILabel?*?labIntroudction=?[[UILabel?alloc]?init];

labIntroudction.backgroundColor?=?[UIColor?clearColor];

labIntroudction.frame=CGRectMake(15,?20,?290,?50);

labIntroudction.numberOfLines=2;

labIntroudction.textColor=[UIColor?whiteColor];

labIntroudction.text=@"將二維碼圖像置於矩形方框內,離手機攝像頭10CM左右,系統會自動識別。";

[upView?addSubview:labIntroudction];

[labIntroudction?release];

[upView?release];

//左側的view

UIView?*leftView?=?[[UIView?alloc]?initWithFrame:CGRectMake(0,?80,?20,?280)];

leftView.alpha?=?0.3;

leftView.backgroundColor?=?[UIColor?blackColor];

[reader.view?addSubview:leftView];

[leftView?release];

//右側的view?

UIView?*rightView?=?[[UIView?alloc]?initWithFrame:CGRectMake(300,?80,?20,?280)];

rightView.alpha?=?0.3;

rightView.backgroundColor?=?[UIColor?blackColor];

[reader.view?addSubview:rightView];

[rightView?release];

//底部view

UIView?*?downView?=?[[UIView?alloc]?initWithFrame:CGRectMake(0,?360,?320,?120)];

downView.alpha?=?0.3;

downView.backgroundColor?=?[UIColor?blackColor];

[reader.view?addSubview:downView];

[downView?release];

//用於取消操作的button

UIButton?*cancelButton?=?[UIButton?buttonWithType:UIButtonTypeRoundedRect];

cancelButton.alpha?=?0.4;

[cancelButton?setFrame:CGRectMake(20,?390,?280,?40)];?

[cancelButton?setTitle:@"取消"?forState:UIControlStateNormal];

[cancelButton.titleLabel?setFont:[UIFont?boldSystemFontOfSize:20]];

[cancelButton?addTarget:self?action:@selector(dismissOverlayView:)forControlEvents:UIControlEventTouchUpInside];

[reader.view?addSubview:cancelButton];

}

//取消button方法

-?(void)dismissOverlayView:(id)sender{?

[self?dismissModalViewControllerAnimated:?YES];

}

轉載請註明出處:/linux_zkf

  • 上一篇:編程競賽
  • 下一篇:模糊數學算法軟件
  • copyright 2024編程學習大全網