1
我試圖設置一個面板來顯示一些信息。我無法讓自動播出按照需要工作。NSLayoutConstraint設置
這裏就是我想要做的事:
我有一個headerView,一個UIImageView和5個標籤。我希望標籤垂直排列,我希望他們從UIImageView 8間距。我可以行之垂直向上足夠容易:
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[headerView]-[acresLabel]-[addedLabel(==acresLabel)]-[typeLabel(==acresLabel)]-[zonesLabel(==acresLabel)]-[sceneLabel(==acresLabel)]-|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(headerView, acresLabel, addedLabel, typeLabel, zonesLabel, sceneLabel)]];
但讓他們排隊關閉影像觀點被證明是乏味的功能/ verbose:
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-[acresLabel]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(imageView, acresLabel)]];
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-[addedLabel]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(imageView, addedLabel)]];
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-[typeLabel]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(imageView, typeLabel)]];
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-[zonesLabel]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(imageView, zonesLabel)]];
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-[sceneLabel]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(imageView, sceneLabel)]];
似乎是一個更好的方式來做到這一點,然後成立每個標籤對圖像視圖的約束。我嘗試將NSLayoutFormatAlignAllCenterX
添加到第一個約束,但它將它們全部置於內容視圖的中心X,不會將標籤的中心X彼此對齊。 NSLayoutFormatAlignAllBaseline在垂直使用時會出現錯誤和崩潰。
我必須對數據再次執行此操作(英畝:'值')。
是的,就是這樣。謝謝! – Padin215 2013-02-22 17:48:50