亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

蘋果提供了AVCaptureConnection中,videoScaleAndCropFactor:縮放裁剪系數(shù),使用該屬性,可以實現(xiàn)拉近拉遠鏡頭。再結合手勢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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • iOS仿郵箱大師的九宮格手勢密碼解鎖

    iOS仿郵箱大師的九宮格手勢密碼解鎖

    這篇文章主要為大家詳細介紹了iOS仿郵箱大師的手勢密碼解鎖的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • iOS開發(fā)基礎之C語言

    iOS開發(fā)基礎之C語言

    現(xiàn)在越來越多的iOS開發(fā)興趣愛好者投入到了iOS培訓中,有的是已經(jīng)在職的員工,有的是還在就讀的學生,還有一些是完全零基礎的同學,那么對于他們來說就要一切從基礎開始學,首先從C語言學起
    2015-11-11
  • 為textView添加語音輸入功能的實例代碼(集成訊飛語音識別)

    為textView添加語音輸入功能的實例代碼(集成訊飛語音識別)

    下面小編就為大家分享一篇為textView添加語音輸入功能的實例代碼(集成訊飛語音識別),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS  隱藏導航條和狀態(tài)欄實現(xiàn)方法

    iOS 隱藏導航條和狀態(tài)欄實現(xiàn)方法

    這篇文章主要介紹了 iOS隱藏導航條和狀態(tài)欄實現(xiàn)方法的相關資料,有時候根據(jù)需求開發(fā)APP 需要隱藏導航欄和狀態(tài)欄,這里提供了實現(xiàn)方法需要的朋友可以參考下
    2016-11-11
  • iOS 12適配以及問題小記

    iOS 12適配以及問題小記

    蘋果官方在上個月推送了iOS12系統(tǒng),作為一名開發(fā)者當然要緊跟更新技術,所以下面這篇文章主要給大家介紹了關于iOS 12適配以及一些問題,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • 淺談Unity中IOS Build Settings選項的作用

    淺談Unity中IOS Build Settings選項的作用

    下面小編就為大家分享一篇淺談Unity中IOS Build Settings選項的作用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS10適配以及Xcode8使用需要注意的那些坑

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

    這篇文章主要為大家詳細介紹了iOS10的適配以及Xcode8使用需要注意的那些坑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 基于ios逆向過程中l(wèi)ldb調試技巧(推薦)

    基于ios逆向過程中l(wèi)ldb調試技巧(推薦)

    下面小編就為大家?guī)硪黄趇os逆向過程中l(wèi)ldb調試技巧(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • iOS中如何判斷中英文混合的字符長度

    iOS中如何判斷中英文混合的字符長度

    本文通過兩種方法給大家介紹了判斷中英文混合的字符長度,非常具有參考價值,特此分享供大家學習
    2016-05-05
  • 移動端固定輸入框在底部會被鍵盤遮擋的解決方法(必看篇)

    移動端固定輸入框在底部會被鍵盤遮擋的解決方法(必看篇)

    下面小編就為大家分享關于移動端固定輸入框在底部會被鍵盤遮擋的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12

最新評論