除了比率约束之外,您还需要添加两个约束。一个指定内部视图的高度小于外部视图的高度,一个指定内部视图的宽度小于外部视图的宽度。
您可能可以在 Interface Builder 中执行此操作,但在代码中它将是这样的:
UIView *outerView = ...;
UIView *innerView = ...;
[outerView addConstraints:@[
[NSLayoutConstraint constraintWithItem:innerView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationLessThanOrEqual
toItem:outerView
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0.0],
[NSLayoutConstraint constraintWithItem:innerView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationLessThanOrEqual
toItem:outerView
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0.0],
]];
您可能还需要添加低优先级约束以使内部视图的大小大于零。