제스처도 StoryBoard를 사용하여 구현해 봅니다.
3233 단어 StoryboardiOSGesture
애초에 제스처란?
탭이나 스와이프 등의 스마트폰 특유의 조작 이벤트입니다.
종류
설명
UITapGestureRecognizer
탭
UIPinchGestureRecognizer
핀치 인 아웃 주로 확대 축소
UIPanGestureRecognizer
드래그
UISwipeGestureRecognizer
페이지 넘김이나 스크롤 등의 스 와이프
UIRotationGestureRecognizer
손가락 2개로 회전시키는 느낌
UILongPressGestureRecognizer
길게 누르기
UIImageView에 탭 제스처를 붙이는 경우를 예로 설명합니다.
모두 소스 코드로 쓰면 아래와 같은 이미지가 됩니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
configureLogoImageView()
}
func configureLogoImageView() {
imageView.userInteractionEnabled = true
imageView.addGestureRecognizer(
UITapGestureRecognizer(target: self, action: "tapGesture:"))
}
//MARK:- Gesture Action Method
func tapGesture(recognizer: UITapGestureRecognizer) {
print(__FUNCTION__)
}
}
예를 들어 UImageView의 탭 제스처도
UIButton 액션처럼 구현할 수 없습니까?
라는 것으로, 본제에 들어갑니다.
StoryBoard를 이용하여 UIView에 제스처를 추가해 봅니다. .
절차
단지 3 단계입니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
configureLogoImageView()
}
func configureLogoImageView() {
imageView.userInteractionEnabled = true
imageView.addGestureRecognizer(
UITapGestureRecognizer(target: self, action: "tapGesture:"))
}
//MARK:- Gesture Action Method
func tapGesture(recognizer: UITapGestureRecognizer) {
print(__FUNCTION__)
}
}
절차
단지 3 단계입니다.
그럼, 순서대로 구현하고 있습니다.
1. StoryBoard에 UIImageView를 배치하고 "Interaction의 User Interaction Enabled"를 체크한다.
이것을 잊어버리면 이벤트를 데리러 가지 않습니다.
핀치 등 2개 손가락 이상 화면에 터치가 필요한 경우는 「Multiple Touch」를 체크하는 것.
2. Object에서 "Tap Gesture Recoginizer"를 검색하고 UIImageView 위에 드래그 앤 드롭합니다.
제스처를 적용하려는 대상 위에 놓습니다.
배경에 제스처를 붙이고 싶은 경우는, 기초가 되어 있는 UIView에 드래그&드롭 하면 실현 가능합니다.
예를 들어, 배경을 탭하면 키보드를 지우는 등.
3. "Tap Gesture Recoginizer"에서 소스 코드로 세구에를 걸어 액션을 정의한다.
주의할 점은 Connection을 "Action"으로 하는 것!
StoryBoard를 이용하면 소스 코드는 아래와 같은 이미지가 됩니다.
오, 깔끔하게!
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
//MARK:- Action Method
@IBAction func tappedImageView(sender: UITapGestureRecognizer) {
print(__FUNCTION__)
}
}
요약
이번에는 탭 제스처를 예로 들었지만,
다른 제스처도 마찬가지로 구현할 수 있습니다.
누군가의 참고가 되면 다행입니다.
틀린 것이 있으면
교수해 주시면 다행입니다.
Reference
이 문제에 관하여(제스처도 StoryBoard를 사용하여 구현해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/eKushida/items/0cecdea8404789124fa3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(제스처도 StoryBoard를 사용하여 구현해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/eKushida/items/0cecdea8404789124fa3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)