カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

stoyboard は慣れるまでまだまだ時間かかりそう でもコードが減って良い感じ

スポンサードリンク

f:id:InvokeTwoA:20151217221548j:plain
f:id:InvokeTwoA:20151023183618p:plain「ついに storyboard に手を出したカッパ!」
f:id:InvokeTwoA:20151215172640p:plain「極めれば大きな力になるはず」

autolayout がずれる問題

f:id:InvokeTwoA:20151023183618p:plain「ふぅー autolayout をセッティングしたブヒ。実機で確認するか」
f:id:InvokeTwoA:20151215172640p:plain「あれれ、画面が半分でちょん切れてる!!!」

原因: constraints (制約)が設定されていなかったから

上下左右のどちらを基準に余白を設定するかなどが必要だった。
設定したらちゃんと表示された。

改善: 実機で確認するよりも、xcode の preview 機能で確認したほうが楽

warning が大量に出る

f:id:InvokeTwoA:20151023183618p:plain「なんか制限をうまく解決できなかったとかで大量の警告が……」
f:id:InvokeTwoA:20151215172640p:plain「まだまだ自分たちのレベルは低そうですな」

2015-12-26 05:24:49.319 KappaQuest[9792:812020] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want. 
	Try this: 
		(1) look at each constraint and try to figure out which you don't expect; 
		(2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x7fb6e3425e70 UIView:0x7fb6e3559960.trailingMargin == UIImageView:0x7fb6e3678ad0.trailing + 95>",
    "<NSLayoutConstraint:0x7fb6e34388f0 UIView:0x7fb6e3559960.trailingMargin == UIImageView:0x7fb6e3678ad0.trailing + 50>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fb6e3425e70 UIView:0x7fb6e3559960.trailingMargin == UIImageView:0x7fb6e3678ad0.trailing + 95>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.

f:id:InvokeTwoA:20151023183618p:plain「見た感じ、constraintを適用できてない箇所があるみたい」
f:id:InvokeTwoA:20151215172640p:plain「一気にcontraintを設定しまくると訳分からなくなっちゃいそうですね」

関数との紐付けが便利

f:id:InvokeTwoA:20151023183618p:plain「ボタンを押したらこの関数が呼ばれて〜 っていうのはだいぶ楽になった!」
f:id:InvokeTwoA:20151215172640p:plain「基本control 押して紐付けるだけですもんね」
f:id:InvokeTwoA:20151023183618p:plain「コードの行数も少なくて済むし、今の所この結び付けが一番 storyboard で恩恵受けてるかも」

締めの言葉

f:id:InvokeTwoA:20151023183618p:plain「スクロールでかなり下まで行ける場合のviewとか、storyboard でどう設定するんだろう」
f:id:InvokeTwoA:20151215172640p:plain「まだまだ分からない事だらけですが、少しずつ storyboard の良さも見えてきましたな」
f:id:InvokeTwoA:20151023183618p:plain「今後も端末サイズは増えてきそうだし、すべてstoryboard に任せるっていうのが将来的にも良さそう。コードで座標を指定する時代は終わったんや!!」
f:id:InvokeTwoA:20151215172640p:plain(座標指定しまくるあのコードはナイなと思ってました……)