У меня есть tableView с 3 статическими ячейками, каждая ячейка содержит подвью с ярлыками, отображающими нужный текст, что я хочу добиться, чтобы ориентация программно вращалась из Portrait на Пейзаж, когда пользователь нажимает на любое из трех подзонов.Как реализовать распознаватель жестов для нескольких подзонов с помощью Swift
Я получил его для первого подсмотра. Однако, когда я пытаюсь добавить один и тот же признак распознавания жестов к другим подзонам, он по-прежнему работает только для одного подзаголовка. Пожалуйста, сообщите, что мне не хватает? Спасибо за любой вклад.
Портрет:
Пейзаж
Table View Controller Код:
import UIKit
class SampleTableViewController: UITableViewController {
@IBOutlet weak var newYorkViewWrapper: UIView!
@IBOutlet weak var sanFranciscoViewWrapper: UIView!
@IBOutlet weak var chicagoViewWrapper: UIView!
//Vars
let tapRec = UITapGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
print("Sample view rendered.")
//Tap gesture
tapRec.addTarget(self, action: "tappedView")
newYorkViewWrapper.addGestureRecognizer(tapRec)
newYorkViewWrapper.userInteractionEnabled = true
sanFranciscoViewWrapper.addGestureRecognizer(tapRec)
sanFranciscoViewWrapper.userInteractionEnabled = true
chicagoViewWrapper.addGestureRecognizer(tapRec)
chicagoViewWrapper.userInteractionEnabled = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//--------------------------------------------------------
// MARK: Hide status bar
//--------------------------------------------------------
override func prefersStatusBarHidden() -> Bool {
return true
}
func tappedView(){
let value = UIInterfaceOrientation.LandscapeLeft.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
}
//--------------------------------------------------------
// MARK: View Orientation method
//--------------------------------------------------------
override func shouldAutorotate() -> Bool {
return true
}
}
Обратите внимание, что вы можете добавлять распознаватели жестов в раскадровках или xib-файлах и подключать их туда (подключая их к просмотрам и подключая действие/действие, которое запускается.) Таким образом, вам не нужен специальный код. –