通常だとあまり使用する機会は無いかもしれませんが、特定の領域を x 回タップすることで実行される隠し機能的なものありますよね。
有名所で言うと、Andoiid の開発者モードでしょうか?
(ビルド番号を数回タップ)
今回、その機能を簡単に実装できるように iOS の UIButton を継承したクラスを作成してみました。
コードは下記 GitHub にて公開中です。
https://github.com/bravesoft-lab/HiddenFunctionButton
使い方は通常の UIButton を作成するときと同様にしてもらえれば OK です。
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 で記述してください。
検知する秒数とタップの回数は下記のように変更することができます。
// 3秒以内に5回タップで反応 hiddenButton.interval = 3 hiddenButton.maxCount = 5
Android 版についても後日作成予定です。
投稿者プロフィール
最新の投稿
- サービス・製品2022年6月27日【iOS】ARケチャマヨバトルをアップデートしたときにやったこと
- 技術・開発情報2021年6月22日UIKit(Storyboard)で時間が止まってる人向けのiOS開発リハビリメニュー
- 技術・開発情報2020年10月8日AWSのSESを利用して手動でメールを送信する
- 技術・開発情報2020年9月8日SwiftUIのすすめ – 2. リスト表示 –