From 0a9972296ed969d26713802f97f53f05a247fbba Mon Sep 17 00:00:00 2001 From: Varun Santhanam Date: Tue, 20 Feb 2018 11:41:50 -0800 Subject: [PATCH] Better iPad and landscape support --- VSAlert/VSAlertController.m | 52 ++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/VSAlert/VSAlertController.m b/VSAlert/VSAlertController.m index 80d1028..c84d675 100644 --- a/VSAlert/VSAlertController.m +++ b/VSAlert/VSAlertController.m @@ -536,7 +536,48 @@ - (void)_setUpAlertView { self.alertView.layer.shadowRadius = 8.0f; self.alertView.layer.shadowOpacity = 0.3f; - CGFloat width = self.style == VSAlertControllerStyleAlert ? 270.0f : [UIScreen mainScreen].bounds.size.width - 36.0f; + if (self.style == VSAlertControllerStyleAlert) { + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.alertView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:nil + attribute:NSLayoutAttributeWidth + multiplier:0.0f + constant:270.0f]]; + + } else { + + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { + + [self.view addConstraints:@[[NSLayoutConstraint constraintWithItem:self.alertView + attribute:NSLayoutAttributeLeft + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeLeft + multiplier:1.0f + constant:18.0f], + [NSLayoutConstraint constraintWithItem:self.alertView + attribute:NSLayoutAttributeRight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeRight + multiplier:1.0f + constant:-18.0f]]]; + + } else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.alertView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:nil + attribute:NSLayoutAttributeWidth + multiplier:0.0f + constant:500.0f]]; + + } + + } [self.view addConstraints:@[[NSLayoutConstraint constraintWithItem:self.alertView attribute:NSLayoutAttributeCenterX @@ -551,14 +592,7 @@ - (void)_setUpAlertView { toItem:nil attribute:NSLayoutAttributeHeight multiplier:0.0f - constant:100.0f], - [NSLayoutConstraint constraintWithItem:self.alertView - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeWidth - multiplier:0.0f - constant:width]]]; + constant:100.0f]]]; if (self.style == VSAlertControllerStyleActionSheet) {