なるようになるかも

力は多くの場合、その人の思いを超えない。

XCode5のアシスタントエディタ

XCode5のStoryBoardおよびInterfaceBuilderでは、アシスタントエディタを使ってiOS7以降のUIとiOS6までのUIを比較して表示する機能がある。

iOS 7 UI 移行ガイドの「iOS 6への対応」の章にやり方が載っているんだけど、実際にこれを使うとえらくズレたレイアウトを表示して使い物にならない…。

Auto Layoutは対象外なんだろうか。

f:id:quesera2:20131008194519p:plain

左がView asiOS 7.0 and Laterで表示したStoryBoard、右がアシスタントエディタでiOS 6.1 and Earlierとしてプレビューしたものなんだけど、なんだろうこのズレ。

f:id:quesera2:20131008194625p:plain

シミュレータや実機は当然として、StoryBoard表示のView asiOS 6.1 and Earlierにしたときにも正常に解釈できるので、単にアシスタントエディタ周りのバグなんだろうと思うけど。

しかしXCode4と比較すると、InterfaceBuilder周りのAuto Layout操作は別物のように改善されており、非常に便利になっている。

システムが付与して消せない制約がなくなったのと、自動制約付与がかなり的確。今まで通りautoresizingMaskを使っている気分でレイアウトを組んで、そこからReset to Suggested Constraintsを使うだけで、よほど複雑なレイアウトでなければ対応できそう。

ただアニメーションまで考えると、コードベースで制約を付与しなおす必要があるので、API群も覚えないといけないんだけど。