Position views so that they aren’t crowded by other content.
Position views so that they aren’t crowded by other content.
iOSエンジニアの西方です。 iPhone SEが発売されました。 個人的には大きな画面のiPhone 6 Plusシリーズが好きなので、今さら4インチに興味はなかったのですが、片手に収まるこのサイズに魅力を感じている方も少なくないでしょう。 開発者としては複雑な気分です。 そろそろ4インチユーザーが減ってくるかなと願っていた矢先の4インチデバイス再来。まだまだ4インチのサポートを切ることはできませんね。 前置きが長くなりましたが、複数の画面サイズに対応する際、なくてはならないのがAuto Layoutです。 iPhoneだけで4通りのサイズ展開となっている今、Auto Layoutなしで画面実装を進めることは難しいでしょう。 今回の投稿では、Auto Layoutの中でも少し特殊な「固有サイズの優先度」について、その意味と使い方を説明します。 固有サイズを使う Auto Layoutでビ
iPhone6 と iPhone6 Plus が発売になり、本格的に iOS でも Android のように複数解像度に対応したやり方をしないといけなくなってきました。 iPhone5S までは、縦幅が伸びただけだったので、なんとなく Auto Layout を使っていても問題は表面化しづらかったのですが、 iPhone6 で横幅が伸びてしまったことで、適当に Auto Layout を使ってコーディングしていると残念なことになっているアプリが結構あります。 僕も iPhone アプリを開発しているのでこのあたりは結構気を使ってはいるんですが、いかんせん自分のやり方がほんとに正しいのか、やや疑問なところもあります。 そこで、今の自分のやり方を晒して、世の iPhone アプリ開発者の人に突っ込んでもらえればと思い記事を書くことにしました。 間違っている箇所もあると思いますので、ドンドンツッ
今こそ frame 思考脱却の時 Xcode 4 / iOS 6 から存在していた Auto Layout でしたが、 当時は Interface Builder の Auto Layout 対応も中々ひどく、使うのが辛かった記憶があります。 そんななか僕は順調に layoutSubviews に傾倒していったわけですが、 iPhone 6/iPhone 6 plus がついに登場し、Size Class という新しい概念も投入され 現状では間違いなく2年前とは比べ物にならないレベルで Universal アプリは作りやすくなりました。(ただし iOS 8 専用アプリのみ) ある程度のデザインパターンを懐に用意していた方が時間が省けます。 ここでは Auto Layout を用いたレイアウトに関するユースケース毎に簡潔に書いていますので、 「それ知ってるわ」みたいなのがあったら適宜読み飛ば
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Xcode6からSizeClassesという概念が加わったのと、AutoLayoutも微妙に変更されていて謎のMarginが出るようなので調査した結果をまとめました。 SizeClassesとは Xcode6からAutoLayoutに加え、SizeClassesという概念が加わりました。 Xcode5では、Universalアプリを作るには、iPhone向けとiPad向けのStoryboardをそれぞれ用意していましたが、Xcode6/iOS8からは、一つのStoryboard(あるいはXib)で対応させてしまおう、というのがSizeC
はじめに ステータスバーらしさを出すミニマムな対応であれば5分で可能です。 storyboardとResolve Auto Layout issuesの機能を使用し コードは1行も書いていません。 storyboard webViewを上部から20pxあけて配置しています AutoLayoutの有効化 ↓ 有効化で増えた項目 Top Layout Guide Bottom Layout Guide Top Layout GuideとViewをつなぐ ↓ 縦に固定20pxの制約をつけます ↓ 問題があるようで丸に矢印のアイコンが表示されます このアイコンをクリックすると次の画面に遷移 ↓ 問題の解決 問題の解決方法を提示するメッセージが表示されています Resolve Auto Layout issues エラーの内容をみたけど、対応がわからない。手っ取り早く作りたい。 そんな時に シミュレ
やりたいこと こんな画面があります。各ラベルにheightのconstraintは指定していません。 この画面のLabel Bは値があったりなかったりで、無いときはトルツメしたいとします。 ※トルツメとは不要箇所を除いた後の空いた部分を詰めることです。トルツメとは : - IT用語辞典バイナリ 何がうまくいかない? Label Bの値を空にしてみます。 self.labelB.text = nil;すると、lable自体は消えたのですが、マージンがおかしいです。 なんでうまくいかない? 何が起きているのかAuto LayoutのVisual Format Languageっぽく書いてみます。 オリジナル: "V:[labelA]-20-[labelB]-20-[labelC]" -20-がマージンです。 期待するレイアウト: "V:[labelA]-20-[labelC]" 実際のレイアウ
前回のつづき。 今回はScrollViewおよびそのSubclassを表示する場合について。 サンプルコード: https://github.com/stack3/iOS7FullScreenViewSamples 前回のサンプルコードを起動して、ScrollView with NavigationBar and Toolbarを選択してください。 TextView(ScrollViewのSubclass)が表示されています。 上へスクロールさせてみましょう。 StatusBarとNavigationBarに文字が透けてにじんだようになっています。 Toolbarの方も見てみると同じように文字が透けています。 スクリーンショットではわかりづらいかもしれませんが、実際に動かしてみるとわかります。 このようにスクロールの内容がNavigationBarなどに透けて見える動作は、Appleのプリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く