2012年10月28日日曜日

Use Autolayoutの設定は遷移先ビューでも同じ設定にする必要がある

前に「エラー Could not instantiate class named NSLayoutConstraint が出た」という記事を書いたのですが、前と違う状況で同じエラーが出たのでそのメモ。

原因

今回は、"File Inspector"の"Interface Builder Document"セクションの「Use Autolayout」を無効にしていた場合は、遷移先ビューにも同様に無効の設定をしておかないといけなかったのですが、その設定をしていなかったことに原因がありました。当たり前のことですね。

今回の場合

ビューAから、ビューCが上に乗っているビューBに遷移しようとして、ビューA、Bでは「Use Autolayout」を無効にしていたのですが、ビューCだけ有効になっていました。

おわり

Instrumentsでどこでリークしているか調べたところ、UIBarButtonItemでリークしているのが分かり、最初こいつの実装方法とかでなにか原因があるんじゃないかと思いそれでかなり時間を費やしました・・・。確かにUIBarButtonItemから遷移していたのですがもう少し分かりやすいエラーなら良かったのに・・・。

0 件のコメント:

コメントを投稿