swift labo

[swift3.0系]UITableViewの特定(指定)のcell(セル)のタップ動作をコードで無効にする方法

Introduction

菅藤 亮兵 (Ryohei Kanto)

菅藤 亮兵 (Ryohei Kanto)

株式会社lord 取締役・Web Developer  Web系のサービス・アプリ開発なんかを主にやってます。 サイトを作ったりコンサル(主にEC)なんかもします。 たまにブログ書いたりもしてます。


LATEST POSTS

[swift4.0.2]UILabel(ラベル)のフレーム(幅)をテキスト(文字数)に合わせてコードで自動調整(フィット)する方法 28th November, 2017

[Swift]UILabel(ラベル)のテキスト改行をStoryboard(ストーリーボード)から入れる方法 26th April, 2017

swift3.x

[swift3.0系]UITableViewの特定(指定)のcell(セル)のタップ動作をコードで無効にする方法

Posted on

[環境]
Xcode:8.2.1
Swift:3.0.2
iOS:10.2

tableViewの指定した特定のセルを選択(ハイライト)させない方法の紹介はよく見かけますので、
今回はtableViewの指定した特定のセルのタップ動作自体を無効にする方法の紹介です。

タップ動作を無効にするということは、例えば、セルをタップしたら別画面に遷移するとか、
Labelに表示するテキストを変えるとか、そういった挙動を制御することができます。

こんな感じで、指定した特定のセルのタップ動作自体を無効にできます。
(これはストーリーボードから設定することも可能です。)

菅藤 亮兵 (Ryohei Kanto)

菅藤 亮兵 (Ryohei Kanto)

株式会社lord 取締役・Web Developer  Web系のサービス・アプリ開発なんかを主にやってます。 サイトを作ったりコンサル(主にEC)なんかもします。 たまにブログ書いたりもしてます。

Comments
  • user

    AUTHOR kei

    Posted on 18:34 2017-09-22.
    返信

    とても参考になりました。
    それとなんですが例えばvar testList = [“Test01”]の時に後からcellが追加されたcellをタップさせたくない場合はどうしたらいいですか?

  • user

    AUTHOR kei

    Posted on 22:29 2017-09-22.
    返信

    先ほどコメントさせていただものですが質問した内容に関して、自分でなんとか解決出来ました。しかし、cell.isUserInteractionEnabled = falseによってcellをスワイプして削除ができなくなったのですがスワイプ削除だけ可能にしたりすることは出来ないのでしょうか?お忙しと思いますがもし良ければ教えて頂けたら嬉しいです。宜しくお願い致します。

    • user

      AUTHOR 菅藤 亮兵 (Ryohei Kanto)

      Posted on 15:40 2017-11-29.
      返信

      コメントしていただいていることに気付かず、返信が遅くなってしまいました。すみません。。
      ご質問の件ですが、既に解決済みかもしれませんが、僕の環境ではタップ動作を無効にしても、スワイプによるセル削除はできることは確認しているので、大丈夫だと思いますよー。

  • View Comments (3) ...
    Navigation