読者です 読者をやめる 読者になる 読者になる

髪も切れるiOSエンジニアのブログ

元美容師エンジニアの成長と奮闘の記録

実はできない!UISliderのタップ移動

f:id:Tansok:20170114010612p:plain
UISliderはタブをスワイプで移動させるUIパーツですが、
タップでタブを移動させたい場面がやたら多い印象。
参考記事を探してもObj-C版はあるけど、Swiftはなかった(多分だよ)

環境

Xcode 8.2.1
Swift 3.0

実装

たったの2stepで実現可能

  • UISliderの独自カスタムクラスを実装
  • UISliderにカスタムクラスをセット

UISliderの独自カスタムクラスを実装

まずは独自クラスでカスタムUISliderを作成します。

import UIKit

class MySlider: UISlider {
    
    override func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
        return true
    }
}

たったこれだけ

UISliderにカスタムクラスをセット

あとはStoryboardからUISliderをセットして、
Custom Classに独自UISliderクラスをセットするだけ
f:id:Tansok:20170114012404p:plain
コードから使いたい時は

var slider: MySlider!

ですね。

おしまい。