2016-11-05 2 views
0

스위프트 3 프로젝트에서 이동 내비게이션 막대를 사용하려면 SLPagingView을 사용하고 있습니다.UITabBarController를 NavigationBar 및 ScrollView와 함께 사용하는 방법?

enter image description here

컨트롤러는 ScrollViewUIViewControllerSubClass이다.

UITabBarController을 포함 된 UIViewControllers 중 하나로 사용하고 싶습니다.

enter image description here : 시뮬레이터 (아이폰 7 플러스)에

enter image description here

현재 결과 :

녹색 컨트롤러 내의 흰색 막대는 문제를 보여줍니다 문제는 내 TabBar의 누락되어있다

NavigationBar + StatusBar의 크기는 TabBar입니다. 다른 컨트롤러에서는 UITableViews을 사용하고 있습니다. 현재 상황에서 UITabBar을 어떻게 표시합니까? 도움말은 매우 감사하겠습니다.

편집 : 주위에 현재 작업으로

, 내가 원하는 위치로 TabBar를 이동하는 "솔루션"을 가지고있다.

class TabC: UITabBarController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let statusBarHeight = UIApplication.shared.statusBarFrame.height 
     let screenSize: CGRect = UIScreen.main.bounds 
     let tabBarFrame = CGRect(x: 0, y: (screenSize.height - 88 + statusBarHeight), width: screenSize.width, height: 0) 

     self.tabBar.frame = tabBarFrame 
    } 
} 

완벽한 위치는 2 회 NavigationBar (2x 44 = 88) 마이너스 statusBarHeight입니다. 그것은 아이폰 5S, 6, 7 플러스에서 작동합니다. 매번 같은 위치.

NavigationBar (마이너스 statusBarHeight)이 2 번이며 가장 좋은 방법입니까?

enter image description here

+0

툴바로 whiteBar (라벨) 사이의 후행 공백 무엇보다 같아야는 4 점이다? – Joe

+0

SLPagingView 막대 높이를 변경 했습니까? – Joe

+0

SLPagingView는 원래 navigationbar (44)의 SLPagingView에서 만들지 않았고 SLPagingView (44)의 tabBar를 사용하지 않고 네비게이션 막대의 2x 크기를 만듭니다. – Joe

답변

1

참고 : 질문 주인과의 대화를 기반으로 답변을 아래.

게시물 : 완벽한 위치는 NavigationBar (2x 44 = 88)의 2 배입니다. 그것은 아이폰 5S, 6, 7 플러스에서 작동합니다. 매번 같은 위치. 하지만 왜 NavigationBar를 두 번 사용합니까? 당신의 SLPagingView 컨트롤러에 더 거기에 따라없는

:

SLPagingView 바 ..

계산 슬라이딩 navigationBar.From 당신의 tabBarController.you 프로그램 상태 표시 줄을 숨기는 같은 역할을 사용자 정의하여 UIView입니다 navigationBar (44) 및 tabBar (44) thats는 2 x 44 = 88을 만듭니다.당신의 tabBarController 계산에서

UIApplication.shared.statusBarFrame.height + UINavigationController().navigationBar.frame.height + UINavigationController().toolbar.frame.height + tailingSpace between the barView to tabBar(8 as he mentioned) 
관련 문제