|
|
@ -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;
|
|
|
|