None 4 11月 2019 UIScrollViewのコンテンツ全体のスクリーンショットを撮る UIViewのメソッド1発だけでは無理みたい。中身が全て見えるようにサイズ変更してから撮影する原始的な方法になります。データが非同期処理の場合は工夫が必要かも。 extension UIImage { convenience init(view: UIView) { let image = UIGr… 続きを読む
None 15 10月 2019 UICollectionViewで同じサイズのセルを綺麗に並べる (Adaptive Layout) 全て同じサイズの写真を美しくグリッド表示するために試して良かった方法をご紹介します。 ちなみにセルのサイズがバラバラな場合 Self-Sizing セルにラベルが含まれていて文字数に応じて高さが異なる場合などに利用します。ContentViewをセルにフィットさせる制約を予めコードで設定しておきます… 続きを読む
None 14 10月 2019 UICollectionViewの並べ替えで起こるチラつきを解消する (Prevent Blinking) 並べ替え完了後にリロードするとチラつきがなくなります。 class ReorderCollectionViewGestureRecognizer: UIPanGestureRecognizer { @IBAction private func handle(_ sender: UIGestureRe… 続きを読む
None 1 10月 2019 ノーマルiPhoneのスクリーンショットをMaxサイズにsipsコマンドで纏めて拡大する iOSアプリの申請には大きいサイズのスクリーンショットが必要になっています。今なら、iPhoneの6.5インチと5.5インチ、iPadの12.9インチの3種類が最低限必要です。 通常サイズの端末をご愛用の方で、シミュレータでは撮影できない場合には拡大して済ませたくなると思います。そういった時にコマン… 続きを読む
None 30 9月 2019 iOS 13で操作できないように画面(View)をロックする 古い方法 iOS 13で画面をロックするための便利なメソッドが非推奨になりました。 // ロック UIApplication.shared.beginIgnoringInteractionEvents() // 解除 UIApplication.shared.endIgnoringInteracti… 続きを読む
None 6 8月 2019 UITableViewのスワイプメニューを出したまま回転させるとリサイズされない セルの左端が埋もれてしまう。横向きから縦向きにした時も同じ。 メニューを出したままで正しくリサイズさせるのが難しいので、セルを改造して回転時にメニューを閉じるようにします。 UITableViewDelegateでメニューを実装する 普通にスワイプメニューを出せるようにデリゲートを実装します。たまた… 続きを読む
None 28 7月 2019 UIViewの角丸(Rounded Corners)みんなどうしてる? Viewの角を丸くしたいことって結構ありますね。@IBDesignableと@IBInspectableを使うとマウス操作で調整できて便利なので、今までUIViewを拡張して使っていたのですが「そう言えばStoryboardで反映されてないなぁ」と気づきまして調べてみると、なんと、extension… 続きを読む
None 26 7月 2019 画面遷移はカスタムセグエを作って楽しよう! 標準的なカスタムセグエ よく使う遷移はセグエにしておくとStoryboardから指定できてとても便利です。 class DismissSegue: UIStoryboardSegue { override func perform() { source.presentingViewControlle… 続きを読む
None 26 7月 2019 [Swift Kotlin]配列の要素を種類別にカウントしてランキング表を作る Swift let animals = ["イヌ", "ネコ", "ヤギ", "イヌ", "ネコ", "ヤギ", "イヌ", "ネコ", "イヌ", "ハムスター", "ヤギ", "モルモット", "ウサギ", "ウサギ"] struct RankingItem { var rank: In… 続きを読む
None 23 1月 2019 CADisplayLinkをTimerのように使うために拡張してみた 拡張ファイルを追加する extension CADisplayLink { class func scheduledDisplayLink(target: Any, selector sel: Selector, addTo runloop: RunLoop = .current, forMode … 続きを読む