首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Swift中定位tableView?

如何在Swift中定位tableView?
EN

Stack Overflow用户
提问于 2019-09-09 17:15:08
回答 1查看 524关注 0票数 0

我正在将我的应用程序翻译成多种语言,故事板的翻译非常好,但我很难将tableView (tableView cell)和相应的viewController的内容本地化。

到目前为止,我已经为2种语言创建了字符串文件Localizable.strings。

FirstViewController包含一个数组,其名称作为UILabel传递给TableViewCell,然后传递给相应的DetailViewController。

TableViewCell:

代码语言:javascript
复制
class UpperTableViewCell: UITableViewCell {
@IBOutlet weak var upperImage: UIImageView!
@IBOutlet weak var upperBodyType: UILabel!
@IBOutlet weak var upperLblName: UILabel!


override func awakeFromNib() {
    super.awakeFromNib()


}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    }
}

名称标签的objectID在Main.strings中的引用是"BkN-Wi-Ai3.text“= "Label1";

但是,我不知道如何将名称数组和bodyType数组的转换数据转换为TableView中的标签。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-09 18:31:59

尝试使用以下步骤:

使字符串扩展名(Tablename应该是您的.strings文件):

代码语言:javascript
复制
extension String {
 
    func localized(bundle: Bundle = .main, tableName: String = "Localized”) -> String {
        return NSLocalizedString(self, tableName: tableName, value: "**\(self)**", comment: "")
    }
}

在更新您的awakeFromNib之后

代码语言:javascript
复制
override func awakeFromNib() {
    super.awakeFromNib()
upperBodyType.text = upperBodyType.text?.localized()
upperLblName.text = upperLblName.text?.localized()
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57858468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档