「風邪気味」のAuto Layoutをスマートに治したいあなたへ #iOSDC Japan 2018
ということで、「風邪気味」のAuto Layoutをサクッと直すために必要な術についてiOSDCで登壇することになったので、その宣伝をしておこうかと思います。
※トーク紹介ページはこちらです。お気に入りスターをポチッと付けて当日聞きに来てくれると嬉しいです。
登壇時間
登壇日時は9/2(日) 13:30〜14:00で、タイムテーブル的にはこんなかんじです😇つよい人ばかりで自分のトラックに人が来るか心配です。まじで来てください。
内容
ほとんどの人が使っているであろうAuto Layout。非常に便利ではあるのですがたまにエラーとかワーニングを発生させてしまうことがあると思います。場合によっては手強くて「一応デザイン指示書通りに組めたからワーニング無視していいかな」と言って放置したくなることもあるかもしれません。既存のレイアウトの改修だと思わぬところで手こずるかもしれません。
でも様々なデバッグの手法を身に付けて武器を備えればそんなに恐れることはありません。ということで明日から使えるAuto Layoutのデバッグ手法を紹介するトークにしようと思っています。
単なるツールの紹介やメソッドの紹介では具体的な活用イメージができずに身につけられないと思うので、実際に「風邪気味」のAuto Layout事例を用意して、どうやって「治療」していくかの過程を見せる形にします(わざと風邪を引かせるのが大変だったのは言うまでもない)。加えて、復習ができるようにサンプルコードをGitHubに上げたり、その詳細な解説を準備している最中です。たぶん本番までに全部用意するのは無理な気がするのでその場合はiOSDC後もコミットし続けます。
あと当日はライブデバッギングになりそうな気がしています。その方が話のテンポや伝わりやすさ的に良い気がするので。
話す内容に関連することで、すでに表に出している資料は以下の通りです。一部はこの内容と被ってくると思います。
進捗
たまにTwitterでiOSDCに関することをつぶやいているので、そのツイートとともに進捗状況をお伝えしようと思います。随時更新します。
約1ヶ月前、登壇資料を作り始めます(もっと早くから作っておけば良かったという後悔はある)。
やっと資料作り始めたぞい。#iOSDC pic.twitter.com/jRE7VaQHwg
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年7月28日
いつもAuto Layoutのワーニングって勝手に出てきて辛いんですが、意図的にそれを発生させることも難しくてそれもまた辛かった😇
わざとAutoLayoutエラー起こさせてちゃんと解決できたぞぉぉぉ
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月5日
一応プロポーザルがプロポーザルだったので、こんなかんじの雰囲気で最初は書いてました。しかし(ある意味幸いなことに)余裕がないので今は真面目なかんじで作ってます。
これでもiOSDCの資料作りをちゃんとしているつもり。ちゃんと。
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月5日
今約40枚。最終的に80枚くらいは行きそうな気がする。 pic.twitter.com/VrYt9Pyss5
資料作りをする過程でいろいろ調べたことを元に、実際発生していたAuto Layoutワーニングを解消することができました。実戦で使えることが証明された!
最近iOSDCの登壇のためにAutoLayoutのデバッグの勉強してたけど、そのおかげでたまに発生してたけどよくわかんなかったAutoLayout warning直せた💪めっちゃ単純なことだった😇
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月9日
登壇駆動開発すごい٩( ᐛ )و
スライドが80枚くらい(しかし全体の50%くらいの進捗)になってくるとこんな発言も出てきます。
登壇資料がサグラダファミリア化している
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月13日
スライド100枚くらいで、だんだんわけわかんなくなってきます。
ダメなAuto Layoutの例作ってると、「おわかりいただけただろうか…ここの設定がイケナイことを…」という気分になってくる。
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月14日
もはや飲むしかないです🍶
登壇資料頑張って作ってます。 pic.twitter.com/9nYbv06jHW
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月16日
あまりにも枚数が多くなってきたので、本番の資料の一部になる可能性があるスライドを使ってSwift愛好会で談義してきました。
#iOSDC 用に作っている資料があまりにも枚数多すぎて全部は話せないので、(この内容を当日話すかわかりませんが)作成中の資料の一部を使って談義します。https://t.co/EoVpmFMPMT#love_swift #love_kotlin
— akatsuki@iOSDC30分枠 (@akatsuki174) 2018年8月18日
直前になって関連記事は2つ書きました。
iOSDCのトークではここらへんざっくり削ることにしたのでQiitaの方へ。https://t.co/ahhq1dN3Ns
— akatsuki@iOSDC30分枠 (@akatsuki174) August 26, 2018
iOSDCではあまり詳しく話せないので。視覚的にわかるのでワーニングが多い時とかに便利。https://t.co/qSZGLNNx3t
— akatsuki@iOSDC30分枠 (@akatsuki174) August 28, 2018
こうゆうことです。
コンソール < Unable to simultaneously satisfy constraints.
— akatsuki@iOSDC30分枠 (@akatsuki174) August 28, 2018
Probably at least one of the constraints in the following list is one you don't want….
ワイ < そんなこと言わせてごめんな(ギュッ
こうゆうことか。
宣伝
最後にちょっとだけ宣伝。今年もリジェクトコンやります。惜しくもリジェクトされてしまったトーク2日間2トラック+企画1トラックでやるので、ぜひご参加ください。リモート枠もあります。