我有一個的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文件添加手勢識別和鉤他們那裏(他們連接到的意見和掛鉤目標/行動觸發。)這樣,你不需要自定義代碼。 –