iOS

Swift4:viewを中心に置く

iPhoneとiPadの機種毎のサイズに適合するようにviewを中心に置く方法をあれこれ考えました。

最初、すべてのオブジェクトを配列に定義し、x / yで動かしてみたのですが、よくよく考えたらUIViewで定義しておけば、個々のオブジェクトを動かす必要がありません。

しかし、iPadの場合、画面サイズが大きいのでローテーションに対応すべきで、そうなるとLandscapeだけに対応すればいいという安直回答は不適です。そう思いながら実装してみると、ローテーションするたびにシフト幅が加算されてしまうバグが出てしまい、結局、オブジェクトの全体サイズを知る必要がありました。

ない知恵を絞った結果、見えないUIButtonを下側に設置し、これから計算すれば面倒な計算をしなくていいとわかりました。

Screenshot 2018-06-03 10.35.01

Screenshot 2018-06-03 10.51.27

Screenshot 2018-06-03 11.03.05

Categories: iOS, Swift, 技術