CR: clamp reasonable aspect ratio

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 14b6f31635
commit 580e82beae

@ -105,14 +105,19 @@ CGFloat ScaleFromIPhone5(CGFloat iPhone5Value)
- (NSLayoutConstraint *)autoPinToAspectRatio:(CGFloat)ratio
{
self.translatesAutoresizingMaskIntoConstraints = NO;
// Clamp to ensure view has reasonable aspect ratio.
CGFloat clampedRatio = Clamp(ratio, 0.5, 95.0);
if (clampedRatio != ratio) {
OWSFail(@"Invalid aspect ratio: %f for view: %@", ratio, self);
}
self.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self
attribute:NSLayoutAttributeHeight
multiplier:ratio
multiplier:clampedRatio
constant:0.f];
[constraint autoInstall];
return constraint;

Loading…
Cancel
Save