AMSmoothAlert icon indicating copy to clipboard operation
AMSmoothAlert copied to clipboard

Landscape support?

Open flyman27 opened this issue 10 years ago • 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.

flyman27 avatar May 06 '14 19:05 flyman27

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.

mtonio91 avatar May 06 '14 19:05 mtonio91

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

flyman27 avatar May 06 '14 19:05 flyman27

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 :)

mtonio91 avatar May 06 '14 20:05 mtonio91

I could use the landscape-support to, specially for iPad-apps...

fivecord avatar May 09 '14 07:05 fivecord

+1 for iPad / landscape support - anyone have any hack's they can share ?

fenlandersoftware avatar Aug 22 '14 16:08 fenlandersoftware

+100 for iPad / landscape support - does anyone have any hack they can share ?

iJoshy avatar Jan 05 '15 12:01 iJoshy

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.

dupuis2387 avatar Apr 10 '15 19:04 dupuis2387