IOS Swift 앱에서 탭 표시 줄 숨기기
iOS Swift 앱에서 탭 표시 줄을 숨기는 방법을 알아 내려고합니다. 나는 멋진 애니메이션이나 그 어떤 것도 신경 쓰지 않는다. ViewDidLoad () 함수에 넣을 수있는 것입니다.
이것을 당신의 ViewDidLoad()
방법으로 간단히 사용할 수 있습니다 .
self.tabBarController?.tabBar.hidden = true
Swift 3.0, 4.0, 5.0의 경우 :
self.tabBarController?.tabBar.isHidden = true
또는 다음과 같이 탭 표시 줄의 z 위치를 변경할 수 있습니다.
self.tabBarController?.tabBar.layer.zPosition = -1
다시 표시하려면 다음을 수행하십시오.
self.tabBarController?.tabBar.layer.zPosition = 0
수락 된 답변은 작동하지만 다른보기로 전환하면 애니메이션이 고르지 않습니다 (탭 막대 애니메이션).
또한 Kalpesh의 솔루션이 저에게 완벽하게 작동했지만 추가하고 싶었지만 모든 뷰 컨트롤러에는 hidesBottomBarWhenPushed에 대한 속성이 있다는 것을 알았습니다 (스토리 보드를 확인하십시오.). 탭 바를 숨기려면 체크 표시를해야합니다. 그리고 그것은 잘 작동합니다.
업데이트 : 이것이 알려진 것인지 확실하지 않지만 다음은 사과 문서 페이지에 나와있는 내용입니다.
이것은 최상위 뷰 컨트롤러 (내비게이션 스택의 첫 번째 컨트롤러)에서 hidesBottomBarWhenPushed의 기본 값을 설정해야 함을 의미한다고 생각합니다. true로 설정하면 다른 뷰 컨트롤러에 대해 false 또는 true로 변경할 수 있습니다. 스택. 그러나 최상위 뷰 컨트롤러의 hidesBottomBarWhenPushed 값이 false이면 탐색 스택의 다른 컨트롤러에 대한 탭 모음이 표시되지 않습니다.
푸시하기 전에 controller.hidesBottomBarWhenPushed = true 설정
let objCreateEventVC = CreateEventVC()
objCreateEventVC.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(objCreateEventVC, animated: false)
tabBar의 isHidden 속성을 설정할 필요가 없습니다.
간단히 ViewController (StoryBoard 내)-> Attribute inspector-> 'View Controller'섹션에서 'Hide Bottom Bar on Push'체크 박스를 선택하세요. 이것은 매력처럼 작동합니다.
'isHidden'방식으로 가면 많은 처리를해야합니다. 즉, 돌아갈 때 다시 나타나게하고 tabBar를 숨긴 후 하단의 빈 공간을 제거해야합니다.
스위프트 3.
self.tabBarController?.tabBar.isHidden = true
확장 프로그램에서도 설정할 수 있습니다 (Dharmesh Kheni 답변 사용).
extension UITabBar {
func tabsVisiblty(_ isVisiblty: Bool = true){
if isVisiblty {
self.isHidden = false
self.layer.zPosition = 0
} else {
self.isHidden = true
self.layer.zPosition = -1
}
}
navigationBar와 tabBar를 숨기려면 다음 함수를 사용합니다.
var tabBarHeight : CGFloat!
func fullScreenAction(){
if navigationController?.isNavigationBarHidden ?? false {
//Show navigationBar
navigationController?.setNavigationBarHidden(false, animated: false)
//Show tabBar
tabBarController?.tabBar.isHidden = false
//Update the height of tabBar
if (!(tabBarController?.tabBar.frame.size.height.isEqual(to: 0))!) {
tabBarHeight = self.tabBarController?.tabBar.frame.size.height
}
tabBarController?.tabBar.frame.size.height = tabBarHeight
} else {
//Hide navigationBar
navigationController?.setNavigationBarHidden(true, animated: false)
//Hide tabBar
tabBarController?.tabBar.isHidden = true
//Update the height of tabBar
tabBarHeight = tabBarController?.tabBar.frame.size.height
tabBarController?.tabBar.frame.size.height = 0
}
}
화면 방향이 tabBar의 높이를 변경하면 높이를 조정하기 위해 다음 함수를 사용하여 전체 화면을 종료합니다.
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
if navigationController?.isNavigationBarHidden ?? false {
navigationController?.setNavigationBarHidden(false, animated: false)
tabBarController?.tabBar.isHidden = false
}
}
도움이 되었기를 바랍니다.
이것은 Swift 4.0, 4.1, 4.2, 5.0 이상을 위한 프로그래밍 방식입니다 .> :
tabBarController?.hidesBottomBarWhenPushed = true
또는
hidesBottomBarWhenPushed = true
참고 URL : https://stackoverflow.com/questions/28777943/hide-tab-bar-in-ios-swift-app
'code' 카테고리의 다른 글
간단한 수학적 표현의 문자열 평가 (0) | 2020.10.15 |
---|---|
오류 : 모듈에서 예기치 않은 값 '정의되지 않음'을 가져 왔습니다. (0) | 2020.10.15 |
문자열로 된 월 이름 (0) | 2020.10.15 |
Android Studio v 1.1 / 1.2의 렌더링 문제 (0) | 2020.10.15 |
Android Studio에서 서명 된 APK의 키 별칭 및 키 비밀번호를 검색하는 방법 (Eclipse에서 마이그레이션 됨) (0) | 2020.10.15 |