UIViewをサブビューとしてInterfaceBuilder(基本的なシングルビューアプリケーション)のメインUIViewに追加しました。制約を設定しないと、サブビューが消えます。
subview's frame = (0 0; 320 0);
何故ですか?
末尾のスペース、先頭のスペース、上部のスペース、下部のスペースなどの制約を追加しようとしても、ビューが消えてしまいます。
どうすればこれを解決できますか?
ありがとうございました。
少し明確にするために、テストプロジェクト(シングルビューアプリケーション)を作成し、画像のようにメインビューに2つのサブビューを追加しました。デフォルトの制約は変更しませんでした。そして、あなたは画像のログでエラーを見ることができます。
ログ:
**2013-01-19 17:16:02.435 Test[8871:c07] 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)
(
"<NSAutoresizingMaskLayoutConstraint:0x106178c0 h=--- v=--- V:[UIWindow:0x9917040(480)]>",
"<NSLayoutConstraint:0x106159e0 UIView:0x991a5a0.bottom == UIWindow:0x9917040.bottom>",
"<NSLayoutConstraint:0x991ab00 V:|-(518)-[BottomView:0x9919c90] (Names: '|':UIView:0x991a5a0 )>",
"<NSLayoutConstraint:0x10615960 V:|-(20)-[UIView:0x991a5a0] (Names: '|':UIWindow:0x9917040 )>",
"<NSLayoutConstraint:0x991aa80 BottomView:0x9919c90.bottom == UIView:0x991a5a0.bottom>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x991aa80 BottomView:0x9919c90.bottom == UIView:0x991a5a0.bottom>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.**
制約:
また、シミュレーターの結果は次のとおりです。