元柔道整復師エンジニアBlog

- 元柔道整復師エンジニアBlog -

『 エンジニアをリングする。』

プログラミング-Swift

【Swift】TableViewCellの重複タップを防ぎたい(二度押し防止)

TableViewCellを複数回連続で選択した場合において、Cell選択時のイベント処理が複数回呼ばれてしまう。 前提 TableViewCellタップ時にVCへ遷移する。 tableView:didSelectRowAt内では、負荷の大きいサーバー通信後にVCへの画面遷移を行っている。 今回はTab…

【Swift】CollectionViewで複数の画像を横スクロールさせたい

複数の画像を1行で横スクロールできるように並べたい。 調べるとCollectionViewで再現できるみたいで、 けっこう参考になる記事がたくさんあって思いのほか簡単に再現できた。 そこで触れてみた感触としてTableViewと似ているが、 個人的にTableViewとは少…

【Swift】UILabelで単位部分(◯秒・◯cm)の一部文字サイズを変更したい

UILabelとかで「10秒」や「10cm」といった、 ある単位を含む文字を表示させたい場合において、その単位部分のみ文字サイズを小さく表示させたいということがある。 →「〇〇秒」「〇〇cm」など そのUILabelを一箇所でしか使用しない場合であれば、 以下のよう…

【Swift】Swift3から日付比較(Date)に演算子が扱えるみたいだった

Swift3で日付比較したい場面に出くわして、 いつものようにDateのcompareあたりを使おうとしてたら、 いつものようにNSComparisonResult(とくにorderedAscendingとorderedDescending)でどちらがa < b、a < bとかがわからなくなって確認してたら.... とある…

CoreDataのSubclass/Propertiesクラスを生成したらMultiple commands produce...によりビルトが通らなくなった

オフライン時のデータ保持のために、CoreDataを使いう機会がありそのときにつまずいたことを書いていく。 もともとCoreDataモデルをいくつか作成していて、 これまで通りに今回もCoreDataモデル(User)を新たに追加するために CoreDataModel.xcdatamodelを作…

【Swift】@IBActionのsender(Any型)からUIButtonの重複タップを防止する。

目的 StoryBoard上のあるUIButtonに接続された@IBActionsender(Any型)から重複タップを防止したい。 @IBActionのみ接続されたUIButtonの重複タップを防止したい。 前提条件 StroryBoard側には、対象のUIButtonが配置されている。 コード側では、1.のUIButton…

【Swift】16進数⇔RGBの相互変換 / UIColor生成

環境 Xcode 9.3 Swift 4.1 16進数 ⇒ RGB RGB値を配列で返却する /** 16進数からRGB値へ変換する. - parameter String: 16進数 - returns [Int]: RGB */ func hexToRGB(hex color: String) -> [Int]{ var rgb:[Int] = [] let scanner = Scanner(string: color…

【Swift】 TextFieldをタップした時に全選択できるようにする

環境 macOS HighSierra 10.13.4 Xcode 9.3 Swift 4.1 目的 TextFieldをタップした時に、TextFieldの値が存在する場合において全選択をできるように設定する。 準備 ViewControllerにUITextFieldDelegateを設定する。 class ViewController: UIViewController…

【Swift】シュミレータ起動時に「Attempt to present <*> on <*> whose view is not in the window hierarchy!」が発生したときの対処方法

環境 macOS HighSierra 10.13.4 Xcode 9.3 Swift 4.1 事象 ViewContorollerのviewDidLoadメソッド内において、アラート表示させる処理を以下のように追加し、 override func viewDidLoad() { super.viewDidLoad() // アラート表示 self.showAlert("Message A…

【Swift】 UIButtonボタンの有効化・無効化を設定をする

環境 macOS HighSierra 10.13.4 Xcode 9.3 Swift 4.1 目的 UIButtonボタンの有効化・無効化の設定をする 実行 UIButtonボタン定義後に、ボタンに対し有効化・無効化の設定をisEnabledで行う。 isEnabledには、真偽値を設定する。 // ボタン定義 @IBOutlet we…

【Swift】ビルド実行にて「App Transport Security has blocked a cleartext HTTP・・・」というエラー発生時の対処方法

環境 macOS HighSierra 10.13.4 Xcode 9.3 Swift 4.1 事象 ビルド実行 > シュミレータ立ち上げ 後に、 コンソールにて「HTTPがどうだ」とか言われた以下内容のエラーが発生し、正常な画面表示がされない。 App Transport Security has blocked a cleartext H…