Изменение положения панели вкладок - PullRequest
0 голосов
/ 25 апреля 2018

Для приложения, которое я создаю, я использую две панели вкладок, одну в нижней части экрана и одну под панелью навигации в верхней части экрана.После изменения положения панели вкладок наверх, когда я запускаю приложение, появляется черный прямоугольник, в котором он был бы, если бы не переместился.Как мне избавиться от этого черного ящика?

enter image description here

Вот код, который перемещает панель вкладок:

import UIKit

class tabControllerDistrict: UITabBarController {
    @IBOutlet var bar: UITabBar!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidLayoutSubviews() {
        self.bar.frame = CGRect( x: 0, y: 0, width: 320, height: 50)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

1 Ответ

0 голосов
/ 25 апреля 2018

Кевин,

Две вещи .. сначала ваш кадр неверен.Значение y должно быть 64, потому что это высота панели навигации.Панель инструментов появится за ней, если вы установите ее на 0.

Во-вторых, установка фрейма в viewDidLayoutSubviews() неверна.Согласно Apple:

Когда границы для представления контроллера представления изменяются, представление корректирует позиции своих подпредставлений, а затем система вызывает этот метод.

Вы находитесьне изменяйте суперпредставление, поэтому не нужно вызывать эту функцию.

Просто установите рамку панели в viewDidLoad(), и она будет отлично работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...