簡體   English   中英

Swift:Main.Storyboard本地化失敗

[英]Swift : Main.Storyboard localization failed

我正在使用Xcode 7.3.1,並嘗試為我的項目設置本地化。 我試圖本地化Main.storyboard文件

屏幕截圖1

屏幕截圖2

第二張屏幕截圖顯示Main.storyboard已本地化。 但是,這未反映在Main.Storyboard中(屏幕截圖1)。 它應該類似於屏幕截圖3。

屏幕截圖3

注意:Main.Storyboard文件包含大約10個場景。

修復什么?

您應為XIB OR Storyboard Views使用的controls編寫Classes ,並將這些Classes分配給相應的控件類型,如下所示-

class LocalizedTextField: UITextField {

    override func drawPlaceholderInRect(rect: CGRect) {

        let localizedPlaceHolder = self.placeholder!.localized
        self.placeholder = localizedPlaceHolder
        super.drawPlaceholderInRect(rect)
    }
}
class LocalizedLabel : UILabel {
    override func awakeFromNib() {
        if let text = text {
            self.text = text.localized
            self.bounds.size.width = CGFloat.max
            self.sizeToFit()
        }
    }
}

class LocalizedButton : UIButton {
    override func awakeFromNib() {
        for state in [UIControlState.Normal, UIControlState.Highlighted, UIControlState.Selected, UIControlState.Disabled, UIControlState.Focused] {
            if let title = titleForState(state) {
                setTitle(title.localized, forState: state)
            }
        }
    }
}

extension String {

    var localized: String {
        let localizedValue =  NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: "")
        if localizedValue == "" {

            return self
        }
        else
        {
            return localizedValue
        }
        return self

    }
}

在此處輸入圖片說明

第1步

選擇您的滑板->轉到文件檢查器->本地化->啟用您的語言的刻度線

你得到像的輸出

在此處輸入圖片說明

第2步

最后,您得到的輸出像

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM