私の問題は説明するのが少し難しいです:
私はメモアプリに取り組んでいます。My "Create a new note" - 画面には、新しいメモに関連付けられた Todo アイテムを表示する垂直スタックビューが含まれています。このスタックビューの下には、ユーザーが必要に応じてメモにリマインダーを追加できる UIView があります。
スタックビューには、特定の量のサブビューが含まれています。ユーザー インターフェイスを構築するときにこの量はわかりませんが、実行時にすべてのサブビューがプログラムで追加されます。リマインダー ビューが常にスタックビューの下に表示されるようにします。そこで、Top Space 制約を追加しました。
ただし、この制約は、プログラムでスタックビューにアイテムを追加する (したがって拡大する) 場合には影響がないようです。
編集:これは、サブビューを追加するコードです:
[_todoContainer.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];
int y = 0;
for (NoteTodoEntity* entity in _note.todos) {
NotinaryTodoView* view = [[[NSBundle mainBundle] loadNibNamed:@"NotinaryTodoView" owner:self options:nil] objectAtIndex:0];
view.frame = CGRectMake(_todoContainer.frame.origin.x, y, _todoContainer.frame.size.width, 40);
[view layoutIfNeeded];
y+=40;
view.currentEntity = entity;
[view.todoDeleteButton addTarget:self action:@selector(todoActionPressed:) forControlEvents:UIControlEventTouchUpInside];
[_todoContainer addSubview:view];
}
[self.view layoutIfNeeded];