Я пытаюсь реализовать локализуемый класс для UIButtons, используя live-рендеринг в Interface Builder. Это код, который я до сих пор:IBInspectable setTitle: forState on UIButton не работает
@IBDesignable class TIFLocalizableButton: UIButton {
@IBInspectable var localizeString:String = "" {
didSet {
#if TARGET_INTERFACE_BUILDER
var bundle = NSBundle(forClass: self.dynamicType)
self.setTitle(bundle.localizedStringForKey(self.localizeString, value:"", table: nil), forState: UIControlState.Normal)
#else
self.setTitle(self.localizeString.localized(), forState: UIControlState.Normal)
#endif
}
}
}
Компоновка правильно обновления в IB, но текст не отображается. Я создал ту же самую реализацию с UILabel, которая работает: https://github.com/AvdLee/ALLocalizableLabel
Любые идеи о том, как исправить это, приветствуются!
Использование '' setTitle' для TARGET_INTERFACE_BUILDER' на прошивкой 10/Xcode 8 beta6 не работает для меня. Вместо этого я смог успешно установить название ярлыка кнопки, получив прямой доступ к его свойству, то есть 'myButton.labelTitle? .text = myText' – flochtililoch