Edtion:
所有子视图都放在控制器的xib中。一切正常,直到应用程序在iPad模拟器中以纵向模式运行,一旦模拟器旋转其打印一些警告:
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:0x855f4c0 V:[MKNumberBadgeView:0x853fb70]-(743)-| (Names: '|':UIView:0x855b3b0 )>",
"<NSLayoutConstraint:0x855f480 V:|-(5)-[MKNumberBadgeView:0x853fb70] (Names: '|':UIView:0x855b3b0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x76b48e0 h=-&- v=-&- UILayoutContainerView:0x8334f10.width == UIWindow:0x8334010.width>",
"<NSAutoresizingMaskLayoutConstraint:0x76b2ed0 h=-&- v=-&- UITransitionView:0x8336250.height == UILayoutContainerView:0x8334f10.height - 49>",
"<NSAutoresizingMaskLayoutConstraint:0x767e1d0 h=--- v=--- H:[UIWindow:0x8334010(768)]>",
"<NSAutoresizingMaskLayoutConstraint:0x7678c40 h=-&- v=-&- UIViewControllerWrapperView:0x76565f0.height == UITransitionView:0x8336250.height>",
"<NSAutoresizingMaskLayoutConstraint:0x7677290 h=-&- v=-&- UILayoutContainerView:0x83371a0.height == UIViewControllerWrapperView:0x76565f0.height>",
"<NSAutoresizingMaskLayoutConstraint:0x7675b60 h=-&- v=-&- UINavigationTransitionView:0x83398e0.height == UILayoutContainerView:0x83371a0.height>",
"<NSAutoresizingMaskLayoutConstraint:0x7674320 h=-&- v=-&- UIViewControllerWrapperView:0xf529bf0.height == UINavigationTransitionView:0x83398e0.height - 20>",
"<NSAutoresizingMaskLayoutConstraint:0x76729e0 h=-&- v=-&- UIView:0x855b3b0.height == UIViewControllerWrapperView:0xf529bf0.height>"
)
Will attempt to recover by breaking constraint <NSLayoutConstraint:0x855f4c0 V:[MKNumberBadgeView:0x853fb70]-(743)-| (Names: '|':UIView:0x855b3b0 )>
我为此找出解决方案并找出setTranslatesAutoresizingMaskIntoConstraints
但不幸的是这些警告仍然存在。有什么建议/帮助吗?
答案 0 :(得分:0)
这两个限制因素:
N:| - (5) - [MKNumberBadgeView:0x853fb70]
N:[MKNumberBadgeView:0x853fb70] - (743) - |
告诉布局管理员你希望MKNumberBadgeView
从它的超视图顶部固定5个点,从底部固定743个点。 iPad的屏幕宽度为768点(或横向为高点),而状态栏的点数仅为20点,只剩下748点。除非您的MKNumberBadgeView为零点,否则布局中没有空间来满足这些约束。
您需要在xib中找到约束并更正它们。您实际上不太可能需要将徽章视图的底部固定在其超视图的底部,单独固定顶部并具有固有高度应该没问题。