[Autolayout] アニメーション中に一時的に高さ0になると怒られる場合

2015年1月7日水曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

アニメーションなどで一時的に高さ0にすると下記のように怒られる。これは制約で高さ指定をしているから。
2015-01-07 08:14:06.763 EverGear[474:96170] 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. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
    "<NSLayoutConstraint:0x1740836b0 V:[UIView:0x17419d330(44)]>",
    "<NSLayoutConstraint:0x174083b60 V:[UIView:0x17419af70(0)]>",
    "<NSLayoutConstraint:0x1740834d0 V:|-(0)-[UIView:0x17419d260]   (Names: '|':UIView:0x17419af70 )>",
    "<NSLayoutConstraint:0x174083430 V:[UIView:0x17419d260]-(0)-[UITableView:0x15084b000]>",
    "<NSLayoutConstraint:0x174086630 V:[UIView:0x17419d330]-(0)-|   (Names: '|':UIView:0x17419af70 )>",
    "<NSLayoutConstraint:0x1740869a0 V:[UITableView:0x15084b000]-(0)-[UIView:0x17419d330]>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1740836b0 V:[UIView:0x17419d330(44)]>

この場合は制約の Priorityを下げてやればいい。

デフォルトの Required(1000) を Hight(750)に変更すると出なくなった。

- - - -
Autolayoutに徐々に慣れてきた。便利、というかマルチスクリーン対応では不可欠。

Responses

Leave a Response

人気の投稿(過去 30日間)