Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

UIKIT

コレクションビューの隙間

水平な線形レイアウトで隙間を調整したい時、しかもminimumをなくしたいと考えた時、ラインも修正すると良い。

セクション

セクションは流れていく。それを止めるには stackoverflow.com

画面の一部を切り取る

resizableSnapshotView これとUIView.transitionを組み合わせて一部分の画面遷移を再現できる。

viewWillLayoutSubviews

viewWillLayoutSubviewsはviewのlayoutSubviewsの前に呼ばれる。 ちなみにlayoutSubviewsはレイアウト更新タイミング、制約つけたいときはupdateConstraints。viewWillLayoutSubviewsは結果的にViewWillAppearとViewWillDidAppearの中間で呼ばれることになる…

画面遷移カスタマイズ2 viewの遷移

ビューの遷移を真似たい場合snapshotViewとtransitionをくみあわせる。 let currentView = self.view.snapshotView(afterScreenUpdates: true)! self.view.addSubview(currentView) setup() UIView.transition(with: currentView, duration: 0.5, options: […

画面遷移カスタマイズ

class PushAnimator : NSObject, UIViewControllerAnimatedTransitioning { func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval { return 1.0 } func animateTransition(using transitionContext: U…

UIViewのレイアウトライフサイクル

制約更新 updateConstraintsIfNeeded() → updateConstraints()が呼ばれる。 フレーム更新 layoutIfNeeded() → layoutSubViews()が呼ばれる。 端末回転によるフレーム変更、UIScrollViewでcontentOffsetの変更時等 レンダリング setNeedsDisplay() → drawRect…

AutoLayoutの制約式

基本は A = aB + b の連立方程式を解く。 Alignment Rectangle (外接矩形) 装飾(影、角丸等)を除いたビュー。AutoLayoutはフレームではなくAlignment Rectangleを用いている。 Alignment Rectangleの表示方法 Edit Scheme のRunのArgumentで起動オプションと…

Adaptive Layout

Adaptive Layout = レスポンシブレイアウトiPhoneとiPadという端末の区別はない。 どのようなウィンドウサイズでもレイアウトを維持する。 二つのポイント1. AutoLayout 2. トレイトコレクション サイズクラスはトレイトコレクションに含まれる値の一つ サイ…

Adaptive Design

UITraitCollection デバイスの情報が入っている。 Size class (H,V) iphone/ipad 倍率 Size Class 以下を参考 qiita.com 各種UI部品のUITaraitCollectionでの変化 以下を参考 qiita.com UISplitViewController Master/Detailの両方が見える時、Masterだけが…

iOSバージョン違い

一部のみ。つかったことないものとか。 iOS9から UIStackView iOS8から Unified Storyboardsというpad,phone共通で一つという考え UITraitCollection SizeClasses UIVisualEffectView UIImageAsset UIInputViewController カスタムキーボード UIPresentation…