#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, но в качестве временного решения я жестко усекаю строки после обязательных символов.