[ios] TabBarItem - isEnabled - false
탭바 아이템을 탭하면,
- 해당하는 뷰컨트롤러로 항상 이동한다
- 하지만 특정 탭바 아이템을 눌렀을 때, 이동시키지 않는 버튼으로 만들고 싶다
didSelet
UITabBarController
에 didSelet
메서드를 사용하여
특정 탭바아이템이 눌렸는지 판단한다
var isUploadTabBarEnabled = true
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item.image == Icon.plus.image { // 특정 탭바 아이템이 눌렸다면
let previousIndex = self.selectedIndex // 이전에 눌려있는 뷰컨의 인덱스 값
self.selectedIndex = previousIndex // 특정 뷰컨으로 넘어가지 않고 기존에 있던 뷰컨으로 이동(그냥 안움직이는 것처럼 보임)
isUploadTabBarEnabled = false // 특정 탭바아이템을 누르면 false
} else {
isUploadTabBarEnabled = true // 눌려도 되는 탭바 아이템을 누르면 true
}
}
UITabBarControllerDelegate
UITabBarControllerDelegate
에shouldSelect
메서드를 사용하여 눌려도 되면true
, 눌리지 않게 하려면false
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
return isUploadTabBarEnabled
}
결과
- 예를 들어, 탭바 아이템을 Alert을 present하는 버튼으로 사용하려면
didSelect
에 기능을 추가하면 된다
Author And Source
이 문제에 관하여([ios] TabBarItem - isEnabled - false), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yc1303/ios-TabBarItem-isEnabled-false저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)