[Swift] UIButtonの重複タップを防ぐ

2018/03/23更新 カテゴリー:開発奮闘記 タグ:
  • このエントリーをはてなブックマークに追加

例えば、ボタンを押すと登録が行われる処理があったとします。そんな時、ボタンを二度クリックされたくありませんね。

SPONSOR

ボタンのダブルクリックを防止

ボタンがタップされた時に以下の処理を行います。ボタンが一度タップされたら、login_btn.enabledでボタンを無効にして、その0.02秒後に有効にしています。こうすることで、パパっとタップされても動きません。

login_btn.enabled = false //login_btnはUIButtonです

let delay = 0.02 * Double(NSEC_PER_SEC)
let time  = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue(), {
    self.login_btn.enabled = true
})

3/5 16:25 追記

もっと確実な方法として、NSURLConnectionを使っている場合は、エラー時のdidFailWithErrorや、完了後のconnectionDidFinishLoadingメソッド内にて、ボタンを有効にするというやり方があります。こちらは、ご意見いただきました。ありがとうございます!

iPhoneアプリ開発のTips一覧はこちら

効率のいいiOSプログラミング習得法

独学でプログラミングをはじめてもう16年。
なかなか勉強が進まない人のために記事を書きました。

フリーランスエンジニアの稼ぎ方

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾
自分が作ったサービスで生きていく。同じゴールを目指すサービス開発集団「入江開発室」を運営(現在約280名) / 個人間スキルシェアサービス「MENTA」は約1ヶ月で売上100万円を達成。1日で100社が利用した「JobTag」など多数開発
(詳しいプロフィール)

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす