AMSmoothAlert
AMSmoothAlert copied to clipboard
Landscape support?
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.