0
私はXcode UIBuilderにキーを入力できるようにするすべてのUIButtonサブクラスの拡張を行い、そのキーを実際には適切な言語に自動的に変更しますビルド時間。SwIBlide/Xcodeでローカリゼーション用に@IBinspectableを使用したUIButton
私はアプリを実行するとうまく動作しますが、ビルダーで入力したキーワードはUIでローカライズされていません。
私は#ifビルダーステートメントとprepareForInterfaceBuilder()を試してみました。 これは私がこれまでに得たものである:
extension UIButton {
@IBInspectable var localizedText: String {
set (key) {
self.setTitle(key.localized, for: .normal)
}
get {
return (self.titleLabel?.text)!
}
}
}
と
class Button: UIButton {
.
.
.
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
self.titleLabel?.text = localizedText
}
}
任意の助けをいただければ幸いです!
をこの拡張機能を使用自体にNSLocalizedStringを呼び出し、結果を返す文字列の拡張機能です。 私たちのコードの唯一の違いは、あなたが ""を返し、変数としてnewValueを使うことです。 ビルダーで設定された値をnewValueとして使用しようとしています。 –
あなたの文字列の拡張子はここでは機能していません??? – Bilal
私は文字列の拡張子で答えを更新しました...投稿前にテストしました... – Bilal