0
나는 이벤트를 숨기고 표시하고있는 앱을 가지고 있습니다. 아래의 방법을 사용하고 있습니다. 숨기려고하면 잘 동작합니다. 그러나 내가 그것을 보이게하려고 할 때 그것은 작동하지 않습니다.tabbar를 보이게 할 수 없습니다.
-(void)setTabBarVisible:(BOOL)visible animated:(BOOL)animated completion:(void (^)(BOOL))completion {
// RootViewController* tabBarController = (RootViewController*)self.navigationController.parentViewController.parentViewController;
UITabBarController *tabBarController = self.tabBarController;
CGFloat duration = (animated)? 0.3 : 0.0;
CGRect frame = tabBarController.tabBar.frame;
CGFloat height = frame.size.height;
CGFloat offsetY = (visible)? -height : height;
CGRect playerFrame = player.view.frame;
CGRect toolBarFrame = self.toolbar.frame;
[UIView animateWithDuration:duration animations:^{
CGRect fr = CGRectOffset(frame, 0, offsetY);
tabBarController.tabBar.frame = fr;
if((!visible && ![self toolBarOnBottom]) || visible) {
self.toolbar.frame = CGRectOffset(toolBarFrame, 0, offsetY);
[self.toolbar layoutIfNeeded];
}
} completion:completion];
}
나는 내가이 문제라고 생각은 TabBar의 프레임이 0 내가이 메소드를 호출 두 번째가 볼 수 있도록 코드를 디버깅 할 때. Xcode 9에서 iOS 11 SDK를 테스트 중입니다. 안전 구역이 이것과 관련이 있는지 확실하지 않습니다.
도움을 주시면 감사하겠습니다. 나는이 사용 결국, 작업 솔루션을 얻고 싶었다으로
1. 완벽하게 작동? 2. 언제이 방법을 부릅니까? (다른 방법에서). 3. 자동 레이아웃을 사용하고 있습니까? – danypata
tabbarcontroller가 nil이 아니며 자동 레이아웃을 사용하고 있습니다. –