欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在做掃碼需求,往往會(huì)有放大鏡頭需求。

蘋果提供了AVCaptureConnection中,videoScaleAndCropFactor:縮放裁剪系數(shù),使用該屬性,可以實(shí)現(xiàn)拉近拉遠(yuǎn)鏡頭。再結(jié)合手勢UIPinchGestureRecognizer,就很簡單實(shí)現(xiàn)手勢拉近拉遠(yuǎ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;
}

拉近拉遠(yuǎn)鏡頭代碼

- (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];

}

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    iOS 12適配以及問題小記

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

    淺談Unity中IOS Build Settings選項(xiàng)的作用

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

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

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

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

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

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

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

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

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

最新評論