投稿

ラベル(アスペクト比)が付いた投稿を表示しています

【iOS】アスペクト比固定でLayoutを作成する。

iOS にて、 複数画面サイズによる、調整ってあるかと思います。 よく聞くのがアスペクト比固定で、画面サイズを調整してほしい。 ( iPhone   4S 系、 5 系、 6 ~ 7 系 ピクセル数、画面比率がそれぞれ違う・・・。) しかも特定部分が! とか。 ネイティブアプリを作成した経験がある方ならピンとくるかと思いますが、 え? ってなります。 通常の Xcode のレイアウトファイルでもある程度は、 比率固定などできるかもしれませんが、 しかも、複数階層をまたいでのレイアウトとなると、 血反吐を吐きそうな、 Autolayout の設定が必要となってくるかと思います。 そこで、ふいに思いついた、 超簡単で強引でシンプルな調整方法を記載します。 ※もちろん自己責任でお願いします。 手順 ・拡縮したい場所の AutoLayout を切る。( XIB で単独) ・一画面分のきっちり正しいサイズで Layout を構築(絶対座標で) ・アスペクト比固定で拡縮したい物を View の子とします。 ・プログラム側で、 4S 系、 5 系、 6 ~ 7 系、Plus系の判定を導入(画面の高さで判定でもよい。UIScreen かな)    (高さから比率を求めるのも有りです。) ・比率固定で拡縮したいものを、 CGAffineTransformMakeScale などを利用して拡縮 下記イメージ <View> <HeaderView /> <View> ← ここを Transform などで調整する。 <Label /> <Label /> <Label /> <Label /> <UIView> <Label /> <Image /> </UIView> <TableView> <Cell> <Cell> &l