Переопределить свойства для Custom TabBar? - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть собственный класс панели вкладок.Это показано ниже.В main.storyboard я установил класс панели вкладок на CustomTabBar:

class CustomTabBar: UITabBar {   
    override var items: [UITabBarItem]? //[This line returns an error]
    // items?[0].selectedImage = UIImage(named: "MyImage.png")
    override func sizeThatFits(_ size: CGSize) -> CGSize {
        var size = super.sizeThatFits(size)
        size.height = 49.0
        return size
    }
}

Строка "override var items" возвращает ошибку "Cannot override с сохраненным свойством 'items'".Я хочу получить доступ к этому свойству, чтобы изменить его, связанный с первым элементом панели вкладок.Я хочу иметь возможность использовать строку, которая в настоящее время закомментирована ниже этой строки.Почему я получил эту ошибку?Кроме того, есть ли другой способ выполнить то, что я хочу сделать?

1 Ответ

0 голосов
/ 15 декабря 2018

Невозможно переопределить сохраненным свойством 'items'.

Я не уверен, почему вы хотите это сделать.Если вы хотите установить элементы, вы можете использовать метод setItems(_:animated:), а также, когда вам нужно получить выбранный элемент, вы можете использовать свойство под названием selectedItem.

. Вы также можете делать другие вещи, такие как:

  • Добавить новый элемент items?.append()
  • Изменить свойства элемента с определенным индексом items?[0].selectedImage = UIImage(named: "MyImage.png")

Так что для вашего случая вы можете сказать, изменить свойства этого элементав viewDidLoad в вашем пользовательском TabBarController

override func viewDidLoad() {
    super.viewDidLoad()
    tabBar.items?[0].selectedImage = UIImage(named: "MyImage.png")
}
...