私は現在SwiftとiOSプログラミングを学んでいます。私はボタンを長押ししてタイマーを作りたいと思っています。同時に、私はUIButtonイメージを変更したいと思います。私はボタンを残す、私はボタンを元に戻したい。これは可能ですか?ボタンを長押ししてタイマーを作る方法は?
答えて
これは絶対できます。あなたはLongPressGestureRecognizerを追加する必要があります。
let longPress = UILongPressGestureRecognizer(target: self, action: #selector(yourAction))
button.addGestureRecognizer(longPress)
をしてからFUNCにタイマーを開始し、ボタンの画像変更:あなたは、このための独自のソリューション、線に沿って何かを実装する必要が
func yourAction(){
Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(timerAction), userInfo: nil, repeats: false)
button.setImage(UIImage(named: "yourImage"), for: .normal)
}
func timerAction(){
//Do whatever you want
}
ありがとう!私はコードにしようとしますが、私は "あなたの行動"のタイトルを書くことは知らない。そして、プロジェクトにボタンを追加します。これは間違っていますか? @Phyber – Glenda
を
1ユーザーがタッチダウン(UIControlEvent touchDown)すると、x秒/ミリ秒ごとに起動する時間が始まります。
2タイマーは、
3 - ユーザーUICOntrolEventタッチアップを触れるのver、あなたはあなたが別の関数にこれらの2つのイベントをバインドし、起動/適切なアクションそれは
ができますどのようにであなたのタイマーを殺すあなたのタイマー
をキャンセル
デモンストレーションのコードを追加します:
@IBOutlet var button: UIButton!
var timer: Timer!
var speedAmmo = 100
@IBAction func buttonDown(sender: AnyObject) {
singleFire()
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector:#selector(rapidFire), userInfo: nil, repeats: true)
}
@IBAction func buttonUp(sender: AnyObject) {
timer.invalidate()
}
func singleFire() {
if speedAmmo > 0 {
speedAmmo -= 1
print("bang!")
} else {
print("out of speed ammo, dude!")
timer.invalidate()
}
}
func rapidFire() {
if speedAmmo > 0 {
speedAmmo -= 1
print("bang!")
} else {
print("out of speed ammo, dude!")
timer.invalidate()
}
}
override func viewDidLoad() {
super.viewDidLoad()
button.addTarget(self, action:#selector(buttonDown(sender:)), for: .touchDown)
button.addTarget(self, action:#selector(buttonUp(sender:)), for: [.touchUpInside, .touchUpOutside])
}
私に知らせてください!
はい。しかし、私はそれを行う方法がわからない@Bashir Sidani – Glenda
私はあなたのために私の答えを更新:)ちょうど途中でタイマーの時間を印刷する! –
- 1. 長押しボタン
- 2. ボタンを長押しする
- 3. アクセシビリティサービスを使用して電源ボタンを長押しする方法
- 4. ボタンを長く押して文字ストリームを送信する方法
- 5. アラートボタンを長押しする方法?
- 6. iOS:ボタンを押して別のボタンを押す方法はありますか?
- 7. ボタンなしでCountDownタイマーを作る方法
- 8. シンプルなプログラム:押したボタンの長さと時間を送る方法は?
- 9. ハードウェアキーで長押し(ホールド)操作を検出する方法
- 10. ボタンを押したときにタイマーを有効にするC#
- 11. Android - アクションメディアを検出する方法ボタンを長く押す
- 12. ボタンを押してTkinterウィンドウを閉じる方法は?
- 13. ボタンを押してコードを実行する方法は? JSP
- 14. ボタンを押してドロップダウンアイテムを「クリック可能」にする方法は?
- 15. Facebookのボタンを押してイベントをトリガーする方法は?
- 16. ボタンを押してhtmlテーブル(tbody)セルをナビゲートする方法は?
- 17. ボタンを押してプレーヤーの色を変更する方法は?
- 18. ボタンを押して行を選択する方法は?
- 19. casperjs/phantomjsのキー操作を「長押し」する方法をシミュレートするには?
- 20. は、私は次の方法で私の長押しジェスチャー認識をカスタマイズしたい長押しジェスチャー認識
- 21. アンドロイドアプリアイコンの長押し操作
- 22. keilを使用してstm32f429iディスカバリーボードにキーを長押しする方法は?
- 23. ウェブページの値を設定してボタンを押す方法は?
- 24. 電源ボタンを長押ししている場所から自分の活動を再開する方法
- 25. UINavigationItemの戻るボタンの長押しを検出します
- 26. JavaFXのボタンを押して画像を追加する方法
- 27. ボタンを押してドキュメントを選択する方法ios swift 3
- 28. ボタンを押してjtextfieldをクリアする方法
- 29. UiAutomatorで電源ボタンを長く押してください
- 30. ボタンを押したリストボックス項目を特定する方法は?
友好的な提案:これが可能かどうか尋ねないでください。それをやりなさい。あなたが実際にそれを行うことによってそれを行う方法を学ぶ*あなたがそれをやっている間問題があれば、ドキュメントを読んだ後に解くことができない問題とデバッグ、Stack Overflowが正しい場所です。コードをコピー&ペーストすれば、決して学ばないでしょう。 – Moritz
最初に行うべきコードを書いて問題を解決し、それを有効にするために他の人のためにここに入れてください。可能でない場合は、視覚的な表現を補うことで、それをより詳細に記述することができます。 –