3

私は以前の質問から英語とアラビア語のプロジェクトを作る方法を学びました。

githubの同じプロジェクト

今、私がやったことは、このプロジェクトにラベルを追加して、「ようこそ」と書いたものです。

問題はレイアウトです。私が英語のテキストを持っているとき、それは(明らかに)左側にありますが、アラビア語のテキストが来るとき、それは右から左に始まるべきです。ただし、左揃えのみです。

そのような場合にどのように対処するかについて何か考えはありますか?

以下はスクリーンショットです...

英語

ここに画像の説明を入力してください

アラビア語

ここに画像の説明を入力してください

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
}

フォントを変更した場合、明日は最初のオプションではなく2番目のオプションを選択しNSString *cpFont = @"Armalite Rifle";ます。すべてのファイルで、行ごとに変更を行う必要があります。

于 2013-01-15T11:54:29.187 に答える
1

条件付きif-else

フォントを確認し、配置を変更します。

または、

それぞれに2つのラベルを作成し、左右と左右の位置合わせを設定し、言語を確認してどちらかにテキストを表示します。

于 2013-01-15T10:26:48.163 に答える