我有一个的tableView 3个静格,每格包含显示所需的文本标签子视图,我想要做到的是有方向从纵向编程旋转当用户点击3个子视图中的任何一个时,可以进入横向模式。如何实现多个子视图点击手势识别与斯威夫特
我得到了它的第一个子视图的工作。但是,当我尝试将其他子视图添加到同一个Tap手势识别器时,它仍然只适用于一个子视图。请指教,我错过了什么?感谢您的任何意见。
人像:
景观
表视图控制器代码:
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文件添加手势识别和钩他们那里(他们连接到的意见和挂钩目标/行动触发。)这样,你不需要自定义代码。 –