Как установить значок панели вкладок с помощью swift?

Как указано выше, не совсем возможно; однако, если вы просто хотите создать начальное состояние для чего-то вроде опции «Выбрать продукт ...», прежде чем пользователь взаимодействует с этим полем, вы можете сделать что-то вроде ниже -

Нижеприведенные стили (технически все) первый вариант красного цвета и один раз, когда пользователь взаимодействует, удалит этот параметр (который имеет значение = «defaultValue») и удалит класс, примененный к выбору. Вы также можете применять другие параметры, кроме цвета, но они будут влиять только на измененное поле, а не на список.

CSS

.default-value{
  color: red;
}

jQuery

$("select").addClass('default-value');

$("select").bind("focus", function () {
  $(this).children('option[value="defaultValue"]').remove();
  $(this).removeClass('default-value');
});
29
задан Lepidopteron 30 March 2017 в 07:46
поделиться

4 ответа

Если вы получили ссылку на tabBarController (например, из UIViewController), вы можете сделать следующее:

if let tabItems = tabBarController?.tabBar.items {
    // In this case we want to modify the badge number of the third tab:
    let tabItem = tabItems[2]
    tabItem.badgeValue = "1"
}

Из UITabBarController это будет tabBar.items вместо tabBarController?.tabBar.items

и удалить значок:

tabItem.badgeValue = nil
75
ответ дан vrwim 30 March 2017 в 07:46
поделиться

Следующая строка может помочь вам показать значок в UITabBerItem

tabBarController?.tabBar.items?[your_desired_tabBer_item_number].badgeValue = value
15
ответ дан Rupom 30 March 2017 в 07:46
поделиться

Установите badgeValue в ViewDidAppear. В противном случае он может не появиться при загрузке приложения.

import UIKit

class TabBarController: UITabBarController {

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    self.tabBar.items![2].badgeValue = "7"
}

}

Нет безопасных проверок, так как вы в целом уверены, что у вас есть TabBar с n вкладками.

3
ответ дан wzbozon 30 March 2017 в 07:46
поделиться

Благодаря @Lepidopteron, мгновенное решение для меня. Кроме того, вы можете сделать это с указателем индекса выбранной вкладки:

let tabItems = self.tabBarController?.tabBar.items as NSArray!
    var selectedIndex = tabBarController!.selectedIndex //here 
    let tabItem = tabItems![selectedIndex] as! UITabBarItem
    tabItem.badgeValue = "2"

Получил ссылку из этого поста

1
ответ дан Andres Paladines 30 March 2017 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: