AZTabBarController не привязан к нижней части

#swift

#swift

Вопрос:

Я пытаюсь реализовать AZTabBarController в своем проекте, но я изо всех сил пытаюсь зафиксировать панель в нижней части экрана. Я предполагаю, что панель может быть прикреплена к нижней части с помощью какого-либо метода или что у меня есть какой-то элемент, который поднимает панель примерно на 50 пунктов выше. Возможно, существует какой-то запас, который не позволяет строке оставаться внизу. Любые предложения будут высоко оценены.

Вот мой код AZTabBar. Я позаимствовал его из примера в репозитории.

 class CustomTabBarController:  UITabBarController {

var tabController: AZTabBarController!

override func viewDidLoad() {
    super.viewDidLoad()

    var icons = [UIImage]()
    icons.append(UIImage.init(named: "ic_home")!)
    icons.append(UIImage.init(named: "ic_new")!)
    icons.append(UIImage.init(named: "ic_settings")!)

    //The icons that will be displayed for each tab once they are selected.
    var selectedIcons = [UIImage]()
    selectedIcons.append(UIImage.init(named: "ic_home")!)
    selectedIcons.append(UIImage.init(named: "ic_new")!)
    selectedIcons.append(UIImage.init(named: "ic_settings")!)


    tabController = AZTabBarController.insert(into: self, withTabIcons: icons, andSelectedIcons: selectedIcons)

    tabController.delegate = self

    tabController.setViewController(QueryViewController.instance(), atIndex: 0)

    tabController.setViewController(SettingsViewController.instance(), atIndex: 2)

    //customize


    let color = UIColor(red: 14.0/255, green: 122.0/255, blue: 254.0/255, alpha: 1.0)

    tabController.selectedColor = color

    tabController.highlightColor = color

    tabController.highlightedBackgroundColor = #colorLiteral(red: 0.1803921569, green: 0.8, blue: 0.4431372549, alpha: 1)

    tabController.defaultColor = .lightGray

    //tabController.highlightButton(atIndex: 2)

    tabController.buttonsBackgroundColor = UIColor(red: (247.0/255), green: (247.0/255), blue: (247.0/255), alpha: 1.0)//#colorLiteral(red: 0.2039215686, green: 0.2862745098, blue: 0.368627451, alpha: 1)

    tabController.selectionIndicatorHeight = 0

    tabController.selectionIndicatorColor = color

    tabController.tabBarHeight = 60

    tabController.setAction(atIndex: 0) {
        //Your statments
        print("Home!")
    }

    tabController.setAction(atIndex: 1) {
        //Your statments
        print("NEW Situation!")
    }

    tabController.setAction(atIndex: 2) {
        //Your statments
        print("Settings")
    }

    tabController.animateTabChange = false
    tabController.onlyShowTextForSelectedButtons = false
    tabController.setTitle("Home", atIndex: 0)
    tabController.setTitle("New", atIndex: 1)
    tabController.setTitle("Settings", atIndex: 2)
    //tabController.font = UIFont(name: "AvenirNext-Regular", size: 12)

}

override var childForStatusBarStyle: UIViewController?{
    return tabController
}

func getNavigationController(root: UIViewController)->UINavigationController{
    let navigationController = UINavigationController(rootViewController: root)
    navigationController.title = title
    navigationController.navigationBar.isTranslucent = false
    navigationController.navigationBar.barStyle = .black
    navigationController.navigationBar.isTranslucent = false
    navigationController.navigationBar.barTintColor = #colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1)
    return navigationController
}
}
  

введите описание изображения здесь

Ответ №1:

Подклассификация

 class CustomTabBarController:  UITabBarController {
  

причина, по которой вы должны использовать AZTabBarController напрямую, то, что вы видите в качестве поля внизу, — это панель вкладок родительского класса, которая пуста, потому что вы не установили для нее никаких viewControllers значений

Комментарии:

1. Спасибо за руководство! На самом деле мне пришлось вместо этого установить UIViewController , поскольку я использую UIViewController для управления CustomController. В любом случае спасибо! Это было фантастически!