0

私は長い間試してきましたが、制約の問題のためにクラッシュし続けます...

このレイアウトをiPhone3G、4、5、およびiPadで機能するように設定するにはどうすればよいですか?

_______TOP OF SCREEN________



Table View should attach to top of screen and with 5 pixels to the Label below
flexible in height so it works on iPhone 5 and 6


____________________________


Label with fixed distance to table View above and button below

____________________________

Button with fixed distance to Label above and fixed distance to bottom of screen

____________________________
      Bottom of screen

したがって、基本的にすべての距離と高さは固定されていますが、画面の上部とラベルの間で利用可能なものをすべて埋めるテーブルの高さを除きます。

そのような制約を設定するたびに、iOS6.1を搭載したiPhone3でクラッシュが発生し続けます。

 2013-03-16 23:12:51.013 BMWhat Test[64196:907] 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:0x1d1f2d70 h=-&- v=-&- UIView:0x1d1aac20.height == UITransitionView:0x1d174220.height - 20>",
    "<NSLayoutConstraint:0x1d1c03b0 V:[UILabel:0x1c58f100(21)]>",
    "<NSLayoutConstraint:0x1d1ce780 V:[UITableView:0x1cbd9000(469)]>",
    "<NSLayoutConstraint:0x1c5aff30 V:[UIButton:0x1d1d1bb0(44)]>",
    "<NSLayoutConstraint:0x1d1c0030 V:|-(0)-[UITableView:0x1cbd9000]   (Names: '|':UIView:0x1d1aac20 )>",
    "<NSLayoutConstraint:0x1d1921d0 V:[UILabel:0x1c58f100]-(1)-[UIButton:0x1d1d1bb0]>",
    "<NSAutoresizingMaskLayoutConstraint:0x1c58e4d0 h=--- v=--- V:[UIWindow:0x1d002230(480)]>",
    "<NSLayoutConstraint:0x1d1cd6c0 V:[UITableView:0x1cbd9000]-(NSSpace(8))-[UILabel:0x1c58f100]>",
    "<NSLayoutConstraint:0x1d1ca370 V:[UIButton:0x1d1d1bb0]-(5)-|   (Names: '|':UIView:0x1d1aac20 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x1d172a90 h=--& v=-&- UITransitionView:0x1d174220.height == UIWindow:0x1d002230.height>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x1d1ce780 V:[UITableView:0x1cbd9000(469)]>

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.

Simulator iPhone Retina4インチiOS6では、正常に動作します。

4

2 に答える 2

2

NSLayoutConstraintは、iOS6でのみサポートされます。

iPhone3はiOS6をサポートしていません。3Gsはサポートしている最も初期のモデルです。

于 2013-03-16T22:27:47.437 に答える
2

問題は、テーブルビューの高さを469ポイントに固定する垂直方向の制約を指定していることです。そのテーブルビューの高さを柔軟にしたいので、その制約は必要ありません。

于 2013-03-16T23:30:06.513 に答える