私は iPhone5 i 用のアプリを開発し、自動レイアウトを使用できるようにしました。各ボタンの垂直方向のスペースを 40 にして、別のボタンに配置しました。このアプリを iPhone4s で実行すると、最後のボタンが表示されません。
3 に答える
2
コードでこれを行いたくない場合は、ボタンの間に「同じ高さ」の制約があり、明示的な高さがない非表示の「スペーサー」ビューを追加する必要があります。ボタンを正しく配置するために、必要に応じて拡張/収縮します。
于 2013-08-21T07:42:59.893 に答える
0
UIView
クリア/非表示のオブジェクトをスペーサーとして使用できますが、他の人が説明したように、それは必須ではありません。また、プログラムで制約を作成し、メソッドmultiplier
に提供された値を適切に使用して等間隔に配置することもできます。constraintWithItem
たとえば、UIButton
オブジェクトの配列がある場合、次のように垂直方向に配置できます。
[buttons enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:obj
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeCenterY
multiplier:2.0 * (idx + 1.0)/([buttons count] + 1.0)
constant:0.0]];
}];
于 2013-08-21T08:26:25.733 に答える