通常だとあまり使用する機会は無いかもしれませんが、特定の領域を x 回タップすることで実行される隠し機能的なものありますよね。
有名所で言うと、Andoiid の開発者モードでしょうか?
(ビルド番号を数回タップ)
今回、その機能を簡単に実装できるように iOS の UIButton を継承したクラスを作成してみました。
コードは下記 GitHub にて公開中です。
https://github.com/bravesoft-lab/HiddenFunctionButton
使い方は通常の UIButton を作成するときと同様にしてもらえれば OK です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class ViewController: UIViewController, HiddenFunctionButtonDelegate { ... let hiddenButton = HiddenFunctionButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50)) hiddenButton.delegate = self view.addSubview(hiddenButton) ... func hiddenFunctionButton(_ didFiredFunction: HiddenFunctionButton) { // do something } |
1つ異なる点として、タップ時の挙動は addTarget ではなく delegate で記述してください。
検知する秒数とタップの回数は下記のように変更することができます。
1 2 3 |
// 3秒以内に5回タップで反応 hiddenButton.interval = 3 hiddenButton.maxCount = 5 |
Android 版についても後日作成予定です。
投稿者プロフィール
最新の投稿
- BtoC 自社事業(コンシューマ事業)2022.06.27【iOS】ARケチャマヨバトルをアップデートしたときにやったこと
- iOS2021.06.22UIKit(Storyboard)で時間が止まってる人向けのiOS開発リハビリメニュー
- Server2020.10.08AWSのSESを利用して手動でメールを送信する
- iOS2020.09.08SwiftUIのすすめ – 2. リスト表示 –