Dan*_*avo 11 objective-c uilabel ios swift
我知道通过使用NSTextAlignment.Natural你允许标签使用给定语言的默认正确方向绘制它的内容,这有助于堆积本地化,允许标签从英语/西班牙语等语言中从左到右绘制文本. ..,以及从阿拉伯语等语言中从右到左.现在我的问题是我希望在与.Natural相反的方向上绘制标签,所以从左到右的语言,文本应该与右边对齐,从右到左的语言,它应该对齐到左边.
我找不到NSTextAlignment枚举选项.所以我希望有人能就如何做到这一点给我一些建议?
非常感谢!
Oli*_*ain 12
天知道为什么Apple不提供NSTextAlignmentNaturalInverse或等价物.
以下是我们在生产应用程序中用于实现此目的的代码...
+ (BOOL)isLanguageLayoutDirectionRightToLeft
{
return [UIApplication sharedApplication].userInterfaceLayoutDirection == UIUserInterfaceLayoutDirectionRightToLeft;
}
someLabel.textAlignment = [UIApplication isLanguageLayoutDirectionRightToLeft] ? NSTextAlignmentLeft : NSTextAlignmentRight;
Run Code Online (Sandbox Code Playgroud)
谢谢@Oliver,这是我很快使用的最终结果:
extension NSTextAlignment {
static var invNatural: NSTextAlignment {
return UIApplication.shared.userInterfaceLayoutDirection == .rightToLeft ? .left : .right
}
}
Run Code Online (Sandbox Code Playgroud)
myLabel.textAlignment = .invNatural
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |