最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭

 更新時間:2019年04月21日 14:13:03   作者:程序鵝  
這篇文章主要為大家詳細介紹了iOS掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在做掃碼需求,往往會有放大鏡頭需求。

蘋果提供了AVCaptureConnection中,videoScaleAndCropFactor:縮放裁剪系數(shù),使用該屬性,可以實現(xiàn)拉近拉遠鏡頭。再結(jié)合手勢UIPinchGestureRecognizer,就很簡單實現(xiàn)手勢拉近拉遠鏡頭。

手勢代碼

///記錄開始的縮放比例
@property(nonatomic,assign)CGFloat beginGestureScale;

///最后的縮放比例
@property(nonatomic,assign)CGFloat effectiveScale;

- (void)cameraInitOver
{
 if (self.isVideoZoom) {
  UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchDetected:)];
  pinch.delegate = self;
  [self.view addGestureRecognizer:pinch];
 }
}

- (void)pinchDetected:(UIPinchGestureRecognizer*)recogniser
{
 self.effectiveScale = self.beginGestureScale * recogniser.scale;
 if (self.effectiveScale < 1.0){
  self.effectiveScale = 1.0;
 }
 [self.scanObj setVideoScale:self.effectiveScale];

}

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
 if ( [gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]] ) {
  _beginGestureScale = _effectiveScale;
 }
 return YES;
}

拉近拉遠鏡頭代碼

- (void)setVideoScale:(CGFloat)scale
{
 [_input.device lockForConfiguration:nil];

 AVCaptureConnection *videoConnection = [self connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self stillImageOutput] connections]];
 CGFloat maxScaleAndCropFactor = ([[self.stillImageOutput connectionWithMediaType:AVMediaTypeVideo] videoMaxScaleAndCropFactor])/16;

 if (scale > maxScaleAndCropFactor)
  scale = maxScaleAndCropFactor;

 CGFloat zoom = scale / videoConnection.videoScaleAndCropFactor;

 videoConnection.videoScaleAndCropFactor = scale;

 [_input.device unlockForConfiguration];

 CGAffineTransform transform = _videoPreView.transform;
 [CATransaction begin];
 [CATransaction setAnimationDuration:.025];

  _videoPreView.transform = CGAffineTransformScale(transform, zoom, zoom);

 [CATransaction commit];

}

有一點需要注意:the videoScaleAndCropFactor property may be set to a value in the range of 1.0 to videoMaxScaleAndCropFactor,videoScaleAndCropFactor這個屬性取值范圍是1.0-videoMaxScaleAndCropFactor,如果你設置超出范圍會崩潰哦!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IOS 中XAMPP配置問題及解決方法

    IOS 中XAMPP配置問題及解決方法

    這篇文章主要介紹了IOS 中XAMPP配置問題及解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOS中的多線程如何按設定順序去執(zhí)行任務詳解

    iOS中的多線程如何按設定順序去執(zhí)行任務詳解

    多線程相信大家或多或少都有所了解吧,下面這篇文章主要給大家介紹了關(guān)于iOS中多線程如何按設定順序去執(zhí)行任務的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • ios版微信小程序跳一跳輔助

    ios版微信小程序跳一跳輔助

    這篇文章主要為大家詳細介紹了ios版微信小程序跳一跳輔助,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • IOS 通訊錄的訪問和修改的實現(xiàn)

    IOS 通訊錄的訪問和修改的實現(xiàn)

    這篇文章主要介紹了IOS 通訊錄的訪問和修改的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOS自定義日期選擇器

    iOS自定義日期選擇器

    這篇文章主要為大家詳細介紹了iOS自定義日期選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法

    iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • iOS仿簡書、淘寶等App的View彈出效果

    iOS仿簡書、淘寶等App的View彈出效果

    這篇文章主要為大家詳細介紹了iOS仿簡書、淘寶等App的View彈出效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS中的音頻服務和音頻AVAudioPlayer音頻播放器使用指南

    iOS中的音頻服務和音頻AVAudioPlayer音頻播放器使用指南

    這里我們要介紹的是AVAudio ToolBox框架中的AudioServicesPlaySystemSound函數(shù)創(chuàng)建的服務,特別適合用來制作鈴聲,下面就簡單整理一下iOS中的音頻服務和音頻AVAudioPlayer音頻播放器使用指南:
    2016-06-06
  • iOS10適配以及Xcode8使用需要注意的那些坑

    iOS10適配以及Xcode8使用需要注意的那些坑

    這篇文章主要為大家詳細介紹了iOS10的適配以及Xcode8使用需要注意的那些坑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 深入講解iOS開發(fā)中應用數(shù)據(jù)的存儲方式

    深入講解iOS開發(fā)中應用數(shù)據(jù)的存儲方式

    這篇文章主要介紹了iOS開發(fā)中應用數(shù)據(jù)的存儲方式,包括plistXML屬性列表和NSKeydeArchiver歸檔兩個部分,需要的朋友可以參考下
    2015-12-12

最新評論

淮阳县| 荆门市| 山东省| 徐水县| 梅河口市| 万安县| 廊坊市| 十堰市| 通化市| 海阳市| 宁南县| 府谷县| 宁都县| 邓州市| 孝昌县| 通海县| 广昌县| 沙坪坝区| 拉萨市| 浏阳市| 普陀区| 广南县| 张家港市| 通河县| 浠水县| 阳朔县| 绥棱县| 阿拉善右旗| 集贤县| 上饶县| 灵川县| 鄂州市| 定陶县| 环江| 锡林浩特市| 汾西县| 通河县| 香港| 太仓市| 巴林左旗| 龙井市|