Swift NavigationControllerから遷移元ViewControllerを取得する

概要 NavigationControllerから遷移した時の遷移元ViewControllerを取得する。 戻る遷移時に遷移元に値を渡したい時なんかに使える。 NavigationControllerからModal遷移時の戻る //self.presentingViewControllerはNavigationControllerが格納 let nvc = se…

Swift Dateオブジェクトから時間以下を切り捨てる

Swift Dateオブジェクトから時間以下を切り捨てる dateComponentsを使用する。 let calendar = Calendar.current let comps = calendar.dateComponents([.year, .month, .day], from: Date()) let truncateDay = calendar.date(from: comps)

Swift TableViewのcell内の要素サイズが動的に変わる場合のcell高さ自動調節

概要 TableViewのcellの要素のサイズが動的に変更される時のcellの高さを自動で調整する。 cellの高さを変更する手法 まずはcellの高さを変更する手法から。 autolayoutが適切に設定されていて、制約からcellの高さが導き出せる時は、 override func viewDid…

Swift CoreData Entityにインデックスを追加する

概要 既存のCoreData Entityのカラムに対してindexを作成する方法。 失敗ケース ios - Why Xcode does not show index options for CoreData entities and attributes? - Stack Overflow ios - Core data indexing in iOS11 - Stack Overflow を参考にしなが…

Swift TextViewでのタグ入力UIを作った

概要 こういうインターフェースを作ったので記録。 こういうやつ タグ入力UI pic.twitter.com/6d7mriPEr2— Fumiya Ichikawa (@LET__IT__RIDE) August 22, 2019 実装 UILabelのタグ風の加工については省略。この記事を参考にすればいいと思う。 UILabelでタグ…

Swift 独自ViewのDelegateをオーバライドする

概要 例えば、TextViewの変更を検知して、Viewの色を変えるという独自拡張Viewがあったとする。 class UIChangeColorTextView: UITextView { override init(frame: CGRect) { delegate = self } required init?(coder aDecoder: NSCoder) { super.init(coder…

Swift TextFieldで時刻入力のチェック処理

概要 TextFieldで時刻入力を求めるインターフェースのチェック処理。TextFieldプロパティとdelegateに以下の処理を記述した。 入力キーボードは数字のみ 5桁目の入力は切り捨てる。常に0〜4桁のみ表示 1桁目が3〜9の場合、"03"〜"09"のように頭に0を補完 2桁…