Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #265】Xcode7.xから使えるようになったUIStackViewを使ってみた。AutoLayoutで苦労していたのが楽になりそう。

Xcode7で使えるようになったUIStackViewとは何か?

聞いた話ではすごい便利になったとか。
となりで話を聞いていたandroidエンジニアは、
やっとiOSでもできるようになったのか、と話していました。

どんなときに便利なのか?

少し勉強し、こんなときに使えそうだというメモ。

画面回転時、画面サイズが異なるときの見た目改善

例えば、3つのボタンが横に並んでいる画面があります。 f:id:fjswkun:20151012175927p:plain

一見問題ないように見えますが、
画面を横にするとボタンの右側にかなりのスペースができてしまいます。 f:id:fjswkun:20151012180108p:plain

また、iPadで画面を開くとボタン右側のスペースがもっとできてしまいます。 f:id:fjswkun:20151012180337p:plain

3つのボタンが画面の横幅を考慮し、
均等に並んでいると見た目がいいと思います。

AutoLayoutを使って、ボタンを均等に並べることはできますが、
UIStackViewを使うともっと簡単にできるよ、ということです。
メンテナンスも簡単になるはずです。

試す

1. 3つのボタンをStackViewに格納する

Storyboard上で3つのボタンを選択し、ボタンを押す。

f:id:fjswkun:20151012181719p:plain

すると、ボタンがStackViewに格納されます。 f:id:fjswkun:20151012181853p:plain

2. StackViewに対して制約をつけます

f:id:fjswkun:20151012182034p:plain

3. StackViewの中にあるボタンとボタンの間のスペースを変更

画面にボタンを配置し、余ったスペースをどのようにするか設定します。
ここではボタンとボタンの間にスペースを均等に配分するようにします。

f:id:fjswkun:20151012182355p:plain

4. 確認

これで設定完了。エミュレータで確認してみます。 f:id:fjswkun:20151012182508p:plain

画面を横にしたときに幅に応じて、
バランスよく配置されるようになった。



【ROCOCO】[Apple iPhone 6 iPhone6 アップル iPhone6 i-Phone6 iPhone 6s Iphone6s アイフォン6s 共用 Diary Case] IPHONE6 手帳型 ケース IPHONE6 カバー 手帳 IPHONE6 レザーケース IPHONE6 スマホケース IPHONE6 ダイアリーケースIPHONE6S 手帳型ケース IPHONE6S ケース 手帳 アイフォン6s アイフォン 6s 『無料配送』 ★NAVY/YELLOW★


交換保障付き iPhone6/6S (4.7インチ)用 0.3mm 強化ガラスフィルム 硬度9H ラウンドエッジ加工 気泡ゼロ 指紋防止機能 クリア iPhone6S アイフォン6 iPhone6 ガラスフィルム 保護フィルム 保護シート 液晶保護 スマートフォン スマホ 15AC8-1-CLR

参考情報

Swift

iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍 【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift