use*_*930 5 uibutton iboutlet ios touch-up-inside swift
我正在创建一个相机应用程序swift,我有一个UIButton. 我想提出两个选项:当用户单击按钮时 - 它会拍照,当用户将手指放在按钮上时 - 它会记录电影直到用户释放按钮。
我有录音和拍照功能,现在我需要区分用户对按钮的操作。
此按钮的可用操作包括:
我试图开始录制touch down并停止录制touch up inside,但是我不知道我应该把负责拍照的代码放在哪里。如果我也把它放进去,touch down那么当用户开始录制电影时 - 也会拍照,我想避免它。
点击和长按的手势识别器可以很好地配合,以缩短此时间(点击会推迟触发,直到确定不是长按)。
class ViewController: UIViewController{
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
button.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tap)))
let longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(longPress))
longPressGestureRecognizer.minimumPressDuration = 1
button.addGestureRecognizer(longPressGestureRecognizer)
}
@objc private func tap(tapGestureRecognizer: UITapGestureRecognizer) {
print("tap")
}
@objc private func longPress (longPressGestureRecognizer: UILongPressGestureRecognizer) {
if longPressGestureRecognizer.state == .began {
print("long press began")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |