CR: clamp reasonable aspect ratio

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

@ -105,14 +105,19 @@ CGFloat ScaleFromIPhone5(CGFloat iPhone5Value)
- (NSLayoutConstraint *)autoPinToAspectRatio:(CGFloat)ratio - (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 NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self
attribute:NSLayoutAttributeWidth attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual relatedBy:NSLayoutRelationEqual
toItem:self toItem:self
attribute:NSLayoutAttributeHeight attribute:NSLayoutAttributeHeight
multiplier:ratio multiplier:clampedRatio
constant:0.f]; constant:0.f];
[constraint autoInstall]; [constraint autoInstall];
return constraint; return constraint;

Loading…
Cancel
Save