エラーを解消したい
swift始めたてです。練習としてiosカメラ作り方と言う本を使いながらカメラ開発をしています。
ピンチジェスチャー機能を実装中に以下のエラーメッセージが発生しました。
Value of type 'CameraViewController' has no member 'pinchedGesture'
該当のソースコード
swift
1 //ピンチジェスチャーの設定 2 let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(self.pinchedGesture(_ :))) 3 previewView?.addGestureRecognize(pinchGesture)
試したこと
教科書に乗っているコードを何回も確認しました。
補足情報(FW/ツールのバージョンなど)
バージョンはxcodeの最新版を使っています。
###コード全文
import UIKit
import GPUImage
class CameraViewController: UIViewController {
//カメラの制御
fileprivate var mainCamera: GPUImageStillCamera?
//カメラのプレビューを表示する画面
fileprivate var previewView:GPUImageView?
//スクリーンのサイズを取得する
let mainScreenSize: CGSize = UIScreen.main.bounds.size
@IBOutlet weak var cameraPosChangeButton: UIButton! override func viewDidLoad(){ super.viewDidLoad() //カメラの初期化 cameraInit() //シャッターボタンの配置 view.addSubview(shutterButton) //ピンチジェスチャーの設定 let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(self.pinchedGesture(_ :))) previewView?.addGestureRecognize(pinchGesture) //カメラ切り替えボタンを手前に移動 self.view.bringSubviewToFront(cameraPosChangeButton) //カメラの初期化 cameraInit() view.addSubview(shutterButton) } ///シャッターボタン lazy var shutterButton:UIButton = { let frame: CGRect = CGRect(x: 0, y: 0, width: 80, height: 80) let button :UIButton = UIButton(frame: frame) let image = UIImage(named: "img56741468") button.setBackgroundImage(image, for: .normal) button.center = CGPoint (x: mainScreenSize.width / 2, y: (previewView?.frame.maxY)! + (mainScreenSize.height - (previewView?.frame.maxY)! ) / 2) button.addTarget(self, action: #selector(onShutterButtonClicked(sender:)),for: .touchUpInside) return button }() @objc func onShutterButtonClicked(sender: AnyObject){ //撮影実行 capturePhotoProcess() } ////カメラ撮影実行処理 func capturePhotoProcess(){ let cropFilter = GPUImageCropFilter(cropRegion : CGRect(x: 0, y: 0, width:1, height :1)) mainCamera?.addTarget(cropFilter) mainCamera?.capturePhotoAsImageProcessedUp(toFilter: cropFilter, withCompletionHandler : { (image, error) in UIImageWriteToSavedPhotosAlbum(image!, self, nil, nil) }) } //カメラを初期化する func cameraInit(){ //カメラの設定をする mainCamera = GPUImageStillCamera(sessionPreset: AVCaptureSession.Preset.photo.rawValue, cameraPosition: .back) mainCamera!.outputImageOrientation = .portrait previewView = GPUImageView(frame: CGRect(x: 0, y:0, width: mainScreenSize.width,height: (mainScreenSize.width / 3) * 4)) //プレビューとカメラを接続する mainCamera?.addTarget(previewView!) view.addSubview(previewView!) //描写開始 mainCamera?.startCapture() } override var prefersStatusBarHidden: Bool{ return true } @IBAction func onCameraPosChange(_ sender: UIButton) { //カメラの切り替えを行う mainCamera?.rotateCamera() //ミラー効果をONにする mainCamera?.horizontallyMirrorFrontFacingCamera = true }
}
回答1件
あなたの回答
tips
プレビュー