有没有办法以编程方式在整个应用程序中更改所有文本元素(即文本文件,按钮标题,标签,导航栏标题等)的对齐方式?实际上我正在开发一种多语言应用程序,它具有一种语言,其中文本对齐是RTL。我不想手动设置每个文本元素的对齐方式。有一些限制,所以NSTectAlignmentNatural无法解决我的问题。实际上,语言的翻译是通过API进行的,也是以unicode格式进行的。那么,系统将如何检测将要显示的语言,以便它可以决定对齐。
答案 0 :(得分:1)
您可以使用UIAppearance
在整个应用中设置ui元素的属性。这适用于采用UIAppearance
协议(UILabel
,UIButton
等)的所有类。
对于eaxmple,以下代码将更改应用中所有标签的文本对齐方式:
[[UILabel appearance] setTextAlignment:NSTextAlignmentRight];
IIRC,UINavigationBar
不支持UIAppearance
,这意味着您需要为标题使用自定义标签。
答案 1 :(得分:0)
使用您自己创建的瘦自定义类替换所有这些元素,您可以根据区域设置更新此属性。