为了在我的应用程序上支持从右到左,我正在使用以下说明:
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
[[UIStackView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
[UITextView appearance].textAlignment = NSTextAlignmentRight;
但是我有很多问题:
-如果需要在当前视图中应用新的对齐方式,我不知道如何刷新UI。
-在集合视图中,即使我使用,对齐方式也不会改变:
[[UICollectionView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
所以我决定使用:
self.sectionsCollectionView.transform = CGAffineTransformMakeScale(-1, 1);
和:
cell.transform = CGAffineTransformMakeScale(-1, 1);
它可以工作,但是如果我推另一个视图,然后在使用集合视图弹出视图之后,它再次向左对齐,直到我点击节头,然后点击右边。
最佳答案
根据Apple的文档,
默认情况下,iOS中的文本对齐是自然的;在OS X中,它保留了。
使用自然文本对齐方式将文本左对齐
从左到右的语言,并自动镜像对齐
从右到左的语言。例如,如果您设置了
使用setAlignment:方法的NSMutableParagraphStyle
对象,传递
NSNaturalTextAlignment
作为参数。
[[(NSMutableParagraphStyle *)paraStyle setAlignment:NSNaturalTextAlignment];
但是,如果您想将控件向右对齐,
从左到右的语言(以从右到左的语言向左),
获取布局方向,如获取布局中所述
方向,并将对齐方式设置为
NSLeftTextAlignment
从右到左的语言。有关更多详细信息,请参考Supporting Right-to-Left Languages
关于ios - iOS objective-c :从右到左支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53950394/