質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

622閲覧

swift Value of type 'CameraViewController' has no member 'pinchedGesture' エラー

kyoutyantyanko

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2020/09/15 13:19

編集2020/09/16 02:26

エラーを解消したい

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 }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2020/09/15 20:36

pinchGestur というプロパティ(関数)が存在しません、というエラーですが、それは定義されていますでしょうか。 できればコード全文や、参考にされている教科書名もご質問本文に追記していただければとおもいます。
kyoutyantyanko

2020/09/16 02:28

ご返信ありがとうございます。 コード全文追記させていただきました。 教科書名としましては、 ・個人開発流Swift〜iosカメラアプリの作り方〜 を使っています!
fuzzball

2020/09/16 02:55

打ち込み忘れのコードがあるのでは? 関数 pinchedGesture(_:) があるはずです。無いなら著者に連絡しましょう。
TsukubaDepot

2020/09/16 03:11

fuzzball さんと同意見ですが、打ち込み忘れ、あるいは、前後の章で定義したメソッドを使っているということはないでしょうか。 書籍だと、前の章からの続きで開発という流れがありますが、誌面を省略するため以前と同じコードについては省略されているケースもよくあります。丁寧な書籍だと、「〜は誌面の都合で省略してありますが、詳しくは〜の章を参考にしてください」とあるかと思います。 それでもなければ、やはり著者に連絡かと思います。
kyoutyantyanko

2020/09/17 02:35

今参考書を読み返してみたら、飛ばした章で使われたメソッドでした。 すいません、解決しました。ありがとうございます!
TsukubaDepot

2020/09/17 03:57

よかったですね。 では、自己解決ということで、質問を閉じていただけないでしょうか。
guest

回答1

0

自己解決

エラーの原因は参考書を読み飛ばしていた事が原因でした。
答えていただいた方ありがとうございました。

投稿2020/09/17 14:10

kyoutyantyanko

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問