Переопределение текста элементов панели вкладок в Swift 5

#ios #swift #xcode #uitabbar #uitabbaritem

#iOS #swift #xcode #uitabbar #uitabbaritem

Вопрос:

введите описание изображения здесьПереопределение текста элементов панели вкладок в больших строках локализации. Я попробовал приведенное ниже решение и другое возможное решение, но оно не работает нормально. В приведенном ниже решении, если количество строк равно 2, то оно правильно обрезает строку и не переопределяет, но если количество строк равно 1, то оно переопределяет и не обрезает строку должным образом. Пожалуйста, помогите предоставить любое возможное решение, заранее спасибо.

  // acess to list of tab bar items
    if let items = self.tabBar.items {
        items.indices.forEach{
            let viewTabBar = items[$0].value(forKey: "view") as? UIView
            let label = viewTabBar?.subviews[1]as? UILabel
            label?.numberOfLines = 1
            label?.lineBreakMode = .byTruncatingTail
            if $0 == 0{
                label?.text = Messages.shared.OPERATION.uppercased()
            }else if $0 == 1{
                label?.text = Messages.shared.ERROR_INFO.uppercased()
            }else if $0 == 2{
                label?.text = Messages.shared.ENERGY_DATA.uppercased()
            }else if $0 == 3{
                label?.text = Messages.shared.OVERVIEW.uppercased()
            }
        }
    }
 

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

1. Просто создайте свою собственную панель вкладок, это легко и гибко

2. Спасибо @imike, но в качестве временного решения я жестко усекаю строки после обязательных символов.