swift 二维码扫描
来源:互联网 发布:微加粉软件免费 编辑:程序博客网 时间:2024/06/05 06:45
import UIKit
import AVFoundation
class ScanController:UIViewController,AVCaptureMetadataOutputObjectsDelegate,UIAlertViewDelegate {
let device =AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
let session =AVCaptureSession()
var layer:AVCaptureVideoPreviewLayer?
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor =UIColor.grayColor()
let label_introduction =UILabel(frame:CGRectMake(10,100,300,50))
label_introduction.text ="扫描"
label_introduction.textColor =UIColor.whiteColor()
self.view.addSubview(label_introduction)
setupCamera()
}
func setupCamera(){
self.session.sessionPreset =AVCaptureSessionPresetMedium
do{
let input =tryAVCaptureDeviceInput(device:device)
ifsession.canAddInput(input){
session.addInput(input)
}
}catch{
print("崩溃了。。。。。。")
}
layer =AVCaptureVideoPreviewLayer(session:session)
layer?.videoGravity =AVLayerVideoGravityResizeAspectFill
layer?.frame =CGRectMake(20,150,280,280)
self.view.layer.insertSublayer(self.layer!, atIndex: 0)
let output =AVCaptureMetadataOutput()
output.setMetadataObjectsDelegate(self, queue:dispatch_get_main_queue())
ifsession.canAddOutput(output){
session.addOutput(output)
output.metadataObjectTypes = [AVMetadataObjectTypeQRCode,AVMetadataObjectTypeEAN13Code]
}
session.startRunning()
}
func captureOutput(captureOutput:AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection:AVCaptureConnection!) {
var stringValue:String?
if metadataObjects.count >0 {
if metadataObjects.first?.type ==AVMetadataObjectTypeQRCode {
stringValue = metadataObjects.first?.stringValue
}elseif metadataObjects.first?.type ==AVMetadataObjectTypeEAN13Code {
stringValue = metadataObjects.first?.stringValue
}else{
stringValue = "再扫啊"
}
}
self.session.stopRunning()
let alertView =UIAlertView()
alertView.message = stringValue
alertView.addButtonWithTitle("Sure")
alertView.delegate =self
alertView.cancelButtonIndex =0
alertView.show()
}
func alertView(alertView:UIAlertView, clickedButtonAtIndex buttonIndex:Int) {
session.startRunning()
}
}
- swift生成二维码,扫描二维码
- swift 二维码扫描
- swift 实现二维码扫描功能
- swift实现二维码扫描案例
- Swift AVFoundation 二维码扫描和生成
- [swift学习之十三]二维码扫描练习
- iOS 横屏原生二维码扫描 swift
- swift版二维码扫描和生成
- swift 扫描二维码/条形码,开启闪光灯,识别相册二维码
- Swift:使用系统AVFoundation实现二维码扫描和生成
- Swift系统自带二维码的扫描使用
- 使用 Swift 创建简单的二维码扫描应用
- Swift Objective-c 原生api 二维码条形码的扫描
- 二维码的生成 识别 扫描 封装(Swift)
- Swift之二维码的生成、识别和扫描
- 二维码扫描
- 二维码扫描
- 二维码扫描
- 如何在PowerPoint中添加背景音乐
- Maven环境的搭建与idea配置
- 用RxJava实现倒计时与踩坑
- 浅谈HTTP中Get与Post的区别
- ZBrush中的SubTool工具该怎样使用
- swift 二维码扫描
- js传参写法
- 关于NSAutoreleasePool' is unavailable: not available in automatic reference counting mode的解决方法 .
- Android中Selsetor基本使用二,选中时改变按钮背景
- DB2数据库设置归档模式
- 图像处理方向常用网站
- Eclipse中已安装的插件如何卸载
- pthread_create 解析
- 实现PPT演示的"非全屏播放"效果