다른 블로그 및 사이트에서 참조한 다음 코드는 작성했지만 오류가 없습니다. 적절한 출력이 나오지 않습니다. 또한 아래 코드에 다른 코드를 추가해 보았습니다. 무엇이 잘못되었는지 확신하지 못합니다. UICollectionViewCell 등록어떻게 같은 방향으로 두 개 이상의 뷰를 스 와이프 할 수 있습니까? 다른보기로 스 와이프하는 동안 동일한 양의 데이터를 전달할 수 있습니까?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var view3: UIView!
@IBOutlet weak var view2: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.handleSwipe1(sender:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.handleSwipe1(sender:)))
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe1)
view.addGestureRecognizer(rightSwipe1)
}
@objc func handleSwipe1(sender: UISwipeGestureRecognizer){
if(sender.direction == .left){
let position = CGPoint(x: self.view3.frame.origin.x - 400.0, y: self.view3.frame.origin.y)
view3.frame = CGRect(x: position.x, y: position.y, width: self.view3.frame.size.width, height: self.view3.frame.size.height)
}
if(sender.direction == .left){
let position = CGPoint(x: self.view2.frame.origin.x - 400.0, y: self.view3.frame.origin.y)
view3.frame = CGRect(x: position.x, y: position.y, width: self.view3.frame.size.width, height: self.view3.frame.size.height)
}
if(sender.direction == .right){
let position = CGPoint(x: self.view3.frame.origin.x + 400.0, y: self.view3.frame.origin.y)
view3.frame = CGRect(x: position.x, y: position.y, width: self.view3.frame.size.width, height: self.view3.frame.size.height)
}
}
}
두 번째. 왼쪽 조건, 당신은 view2 또는 view3 이동 하시겠습니까? – koropok
예 왼쪽과 오른쪽 방향으로 모두보기를 이동하고 싶습니다. 사실 하나의 뷰 컨트롤러에 여러 뷰가 있습니다. 따라서 왼쪽과 오른쪽을 스 와이프하여 뷰를보고 싶습니다. – Saurabh
"두 개 이상의 뷰를 스 와이프"라는 제목과 기본적으로 몇 가지 코드를 사용하여 수행하려는 작업을 알고 있습니까? 뷰 계층 구조 란 무엇입니까? * 단일 * 스 와이프 제스처는 ** 하나의 **보기 및 (물론) 하위보기에 유용합니다. 또는 스 와이프로 데이터를 전달하는 것에 대해 묻고 있습니까? 두 번째이며 별도의 질문이어야합니다. – dfd