Post

Replies

Boosts

Views

Activity

Reply to From iOS 14.x SafeAreaInset becomes Zero when transform scale
Adding additional information :- CGAffineTransformMakeScale and navigation bar hidden overlapping status bar in iOS 14.x and above in iPad device It's working on iOS 13 and below. When i debug, i can see the safe area inset is zero for iOS 14.3 & iOS 14.4 iPad 7th generation. To Reproduce a issue:- Orientation Support - iPad Landscape Deployment target - 10.0 Subclass UINavigationController and add the below code in viewDidLoad. Also add below category UIScreen (void)viewDidLoad { [super viewDidLoad]; self.navigationBar.barTintColor = [UIColor clearColor]; self.navigationBar.hidden = YES; CGFloat heightScale = [[UIScreen mainScreen] heightScaleTo:768]; self.view.transform = CGAffineTransformMakeScale(heightScale, heightScale); } @implementation UIScreen (Additions) (CGFloat)heightScaleTo:(CGFloat)targetHeight { if(targetHeight <= 0) { return self.bounds.size.height; } return self.bounds.size.height / targetHeight; } @end
Feb ’21