【问题标题】:How to concatenate String respecting RTL/LTR如何连接字符串尊重 RTL/LTR
【发布时间】:2020-08-22 12:11:08
【问题描述】:

在连接字符串时,如何让 Swift 尊重区域设置从右到左的语言设置?

import Foundation

var leftString = "1"
let rightString = "2"

let concatString1 = "\(leftString)\(rightString)" // 12
let concatString2 = leftString + rightString // 12
let concatString3 = String(format: "%@%@", leftString, rightString) // 12
let concatString4 = [leftString, rightString].joined(separator: "") // 12
let concatString5 = leftString.appending(rightString) // 12

根据用户设备的区域设置,如何获取 RTL 语言的 21 和 LTR 语言的 12

是在字符串文件中指定像"%2$@%1$@" 这样的格式的唯一方法吗?

【问题讨论】:

    标签: swift string internationalization register-transfer-level


    【解决方案1】:

    您可以为它创建一个函数或扩展。我在之前的项目中使用了一个函数。您可以检查这是否适合您。

    func getDirectionalString(leftString : String, rightString: String) -> String
    {
        if(UIApplication.shared.userInterfaceLayoutDirection == UIUserInterfaceLayoutDirection.rightToLeft)
        {
            //RTL
            return "\(rightString)\(leftString)"
        }
        return "\(leftString)\(rightString)"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多