Landscape support?
Opened this issue · 7 comments
comes in from the top and sideways of course. Any places I can start looking to fix that?
Also I added a dismiss delegate.
I'm not a big fan of landscape mode on iphone, even more for pop ups/alerviews that's why i haven't implemented it but i could make it compatible.
Thanks! I have an app that presents a lot of stuff in landscape (movies, etc) and it would take your cool api over the top!
Im looking through it now to see where I could add it
If you want to figure it out from yourself, you can have a look to the relative coordinates of the alertview which are based on window frame and not and self.view frame.
And then do a pull request :)
I could use the landscape-support to, specially for iPad-apps...
+1 for iPad / landscape support - anyone have any hack's they can share ?
+100 for iPad / landscape support - does anyone have any hack they can share ?
This worked for me....
in AMSmoothAlertView.m...
add
#define kCircleViewTag 9999
at the top as a const
at the bottom of
- (void) _initViewWithTitle:(NSString )title andText:(NSString *)text andCancelButton:(BOOL)hasCancelButton forAlertType:(AlertType)type andColor:(UIColor) color
{
//----snipped for brevity ----//
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(deviceOrientationDidChange:)
name: UIDeviceOrientationDidChangeNotification
object: nil];
} - (void)deviceOrientationDidChange:(NSNotification *)notification {
CGRect screenRect = [[UIScreen mainScreen] bounds];
self.frame = screenRect;
alertView.center = self.center;
CGRect circleViewFrame = [self viewWithTag:kCircleViewTag].frame;
circleViewFrame.origin.x =screenRect.size.width/2;
circleViewFrame.origin.y =((screenRect.size.height/2)-alertView.frame.size.height/2);
[self viewWithTag:kCircleViewTag].frame = circleViewFrame;
}
-(void) dealloc{
[[NSNotificationCenter defaultCenter] removeObserver: self];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
}
the in i add the tag defined at the top to the circle mask view
-
(void) circleSetupForAlertType:(AlertType) type andColor:(UIColor*) color
{UIView * circleMask = [[UIView alloc]initWithFrame:CGRectMake([self screenFrame].size.width/2, (([self screenFrame].size.height/2)-alertView.frame.size.height/2) , 60, 60)];
circleMask.tag = 9999;
//----snipped for brevity ----//
}
P.S. I utterly ditched the background blur view, so this "hack" or "patch" doesnt pay any attention to the blur view/variable.