Sal*_*aGh 12 iphone right-to-left ios swift
我正在开发一个支持两种语言的应用程序:英语和阿拉伯语.当用户将语言更改为阿拉伯语时,我需要我的应用程序将文本从右向左(RTL).
我搜索了这个问题,我找到了关于支持RTL的答案.
我想以编程方式应用上述答案,因为我需要在App运行时从LTR更改为RTL.
Jay*_*dip 21
在Swift 4试试这个,
//FOR RIGHT TO LEFT
UIView.appearance().semanticContentAttribute = .forceRightToLeft
//FOR LEFT TO RIGHT
UIView.appearance().semanticContentAttribute = .forceLeftToRight
Run Code Online (Sandbox Code Playgroud)
Sal*_*aGh 10
我使用以下方法将我的应用程序更改为从右到左的RTL:
self.transform = CGAffineTransformMakeScale(-1.0, 1.0)
Run Code Online (Sandbox Code Playgroud)
这翻转了视图,然后我在视图中翻转了这样的对象:
label.transform = CGAffineTransformMakeScale(-1.0, 1.0)
textField.transform = CGAffineTransformMakeScale(-1.0, 1.0)
image.transform = CGAffineTransformMakeScale(-1.0, 1.0)
Run Code Online (Sandbox Code Playgroud)
这使我的视图RTL而不是更改所有约束或重建应用程序作为RTL.
小智 5
使用此行代码,它将在不关闭应用程序的情况下更改布局。从右到左
UIView.appearance().semanticContentAttribute = .forceRightToLeft
Run Code Online (Sandbox Code Playgroud)
而从左到右翻转
UIView.appearance().semanticContentAttribute = .forceLeftToRight
Run Code Online (Sandbox Code Playgroud)
如果您想更改文本字段布局或更改文本,请使用此代码,因为我遇到了此问题。textfield的文本未更改布局。检查此代码以更改文本字段文本的布局
extension UITextField {
open override func awakeFromNib() {
super.awakeFromNib()
if UserDefaults.languageCode == "ar" {
if textAlignment == .natural {
self.textAlignment = .right
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13758 次 |
最近记录: |