3

我从我问的上一个问题中学会了如何制作英语和阿拉伯语项目。

github上的同一个项目

现在我所做的是在这个项目中添加了一个标签并写了"Welcome"

问题是布局。当我有英文文本时,它在左侧(显然),但是当阿拉伯文本出现时,它应该从右到左开始。但它只与左对齐。

知道如何处理这种情况吗?

下面是截图...

英语

在此处输入图像描述

阿拉伯

在此处输入图像描述

4

2 回答 2

3

下面是我做的...

在项目文件夹(english.ttf & arabic.ttf)中添加了字体,如此处所示。

添加(阿拉伯语)和Localizable.strings(英语)"myFont"="ACS Zomorrod";"myFont"="Armalite Rifle";

然后让那些字体处于状态

NSString *myFont = localize(@"myFont");
NSString *cpFont = @"Armalite Rifle";
if ([myFont isEqualToString:cpFont]) {
    self.myLabel.textAlignment = NSTextAlignmentLeft; // this is for English
} else {
    self.myLabel.textAlignment = NSTextAlignmentRight; // this is for Arabic
}

编辑 1

你也可以有"myLang"="arabic";& "myLang"="english";inLocalizable.strings然后有代码

NSString *myLang = localize(@"myFont");
NSString *myActualLang = @"english";
if ([myLang isEqualToString:myActualLang]) {
    self.myLabel.textAlignment = NSTextAlignmentLeft; // this is for English
} else {
    self.myLabel.textAlignment = NSTextAlignmentRight; // this is for Arabic
}

我会更喜欢第二个选项而不是第一个选项,因为如果我明天更改字体,我将不得不NSString *cpFont = @"Armalite Rifle";在所有文件的行中进行更改。

于 2013-01-15T11:54:29.187 回答
1

条件 if-else

检查您的字体并更改对齐方式。

或者,

为他们每个人制作两个标签,设置他们的左-右和右-左对齐,并通过检查语言在其中一个上显示文本。

于 2013-01-15T10:26:48.163 回答