diff --git a/Pod/Classes/TSMessage.m b/Pod/Classes/TSMessage.m index 5c4d530b..a1bee2b8 100755 --- a/Pod/Classes/TSMessage.m +++ b/Pod/Classes/TSMessage.m @@ -188,19 +188,7 @@ - (void)fadeInCurrentNotification notificationActive = YES; TSMessageView *currentView = [self.messages objectAtIndex:0]; - - __block CGFloat verticalOffset = 0.0f; - - void (^addStatusBarHeightToVerticalOffset)() = ^void() { - - if (currentView.messagePosition == TSMessageNotificationPositionNavBarOverlay){ - return; - } - - CGSize statusBarSize = [UIApplication sharedApplication].statusBarFrame.size; - verticalOffset += MIN(statusBarSize.width, statusBarSize.height); - }; - + if ([currentView.viewController isKindOfClass:[UINavigationController class]] || [currentView.viewController.parentViewController isKindOfClass:[UINavigationController class]]) { UINavigationController *currentNavigationController; @@ -218,25 +206,15 @@ - (void)fadeInCurrentNotification { [currentNavigationController.view insertSubview:currentView belowSubview:[currentNavigationController navigationBar]]; - verticalOffset = [currentNavigationController navigationBar].bounds.size.height; - if ([TSMessage iOS7StyleEnabled] || isViewIsUnderStatusBar) { - addStatusBarHeightToVerticalOffset(); - } } else { [currentView.viewController.view addSubview:currentView]; - if ([TSMessage iOS7StyleEnabled] || isViewIsUnderStatusBar) { - addStatusBarHeightToVerticalOffset(); - } } } else { [currentView.viewController.view addSubview:currentView]; - if ([TSMessage iOS7StyleEnabled]) { - addStatusBarHeightToVerticalOffset(); - } } CGPoint toPoint; @@ -248,7 +226,13 @@ - (void)fadeInCurrentNotification { navigationbarBottomOfViewController = [self.delegate messageLocationOfMessageView:currentView]; } - + + CGFloat verticalOffset = [[currentView.viewController topLayoutGuide] length]; + + if ([currentView.viewController isKindOfClass:[UINavigationController class]]) { + verticalOffset += ((UINavigationController *)currentView.viewController).toolbar.frame.size.height; + } + toPoint = CGPointMake(currentView.center.x, navigationbarBottomOfViewController + verticalOffset + CGRectGetHeight(currentView.frame) / 2.0); }