diff --git a/CSNotificationView/CSNotificationView.m b/CSNotificationView/CSNotificationView.m index 4f4fbb0..a846950 100644 --- a/CSNotificationView/CSNotificationView.m +++ b/CSNotificationView/CSNotificationView.m @@ -382,7 +382,15 @@ - (void)dismissWithStyle:(CSNotificationViewStyle)style message:(NSString *)mess //Workaround as there is a bug: sometimes, when accessing topLayoutGuide, it will render contentSize of UITableViewControllers to be {0, 0} - (CGFloat)topLayoutGuideLengthCalculation { - CGFloat top = MIN([UIApplication sharedApplication].statusBarFrame.size.height, [UIApplication sharedApplication].statusBarFrame.size.width); + CGFloat top = 0; + + UIView *view = self.parentNavigationController.view ?: self.parentViewController.view; + CGPoint originInWindow = [view.superview convertPoint:view.frame.origin toView:[UIApplication sharedApplication].keyWindow.rootViewController.view]; + CGFloat statusBarHeight = MIN([UIApplication sharedApplication].statusBarFrame.size.height, [UIApplication sharedApplication].statusBarFrame.size.width); + + if (originInWindow.y < statusBarHeight) { + top += statusBarHeight - originInWindow.y; + } if (self.parentNavigationController && !self.parentNavigationController.navigationBarHidden) {