UIViewにLabelを追加してコンセントを作成した後、UITapGestureRecognizerを使用して機能を追加しましたが、ラベルをタップまたはクリックすると機能が追加されました。ラベルテキストは変更されません。私は同様の質問を検索し、私は答えをも私が書いたことがあるが、まだラベルのテキストは変更されていません。 Swift 3.0で書かれたコード。UILabelにタップジェスチャーを追加できますか?
import UIKit
class testingViewController: UIViewController {
@IBOutlet weak var testLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(showDatePicker))
tap.numberOfTouchesRequired = 1
tap.numberOfTapsRequired = 1
testLabel.addGestureRecognizer(tap)
testLabel.isUserInteractionEnabled = true// after adding this it worked
// Do any additional setup after loading the view.
}
func showDatePicker(){
print("testing")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
真のチェックユーザーとの対話にラベルの
isUserInteractionEnabled
フラグを設定する必要があります - ここで私が書いたコードです。 Duncan C – Krunal@KrunalBhavsarのuserInteractionがstoryBoardで有効になっていましたが、コードを追加したときにそれがうまくいきました。 – Ronit
ラベルをラッピングする上で他のビュー(透過表示)があるかどうか確認してください。機密でない場合は、ソースコード(プロジェクト)を共有できますか? – Krunal