5

ストーリーボードを翻訳するために新しい iOS 機能を使用しています ( http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/InternationalizeYourApp/InternationalizeYourApp/InternationalizeYourApp.html )

このソリューションの問題は、私の UILabel サブクラスでは機能しません。

私のUILabelサブクラスのコードは次のとおりです。

.h:

#import <UIKit/UIKit.h>
@interface LabelThinText : UILabel
- (void)awakeFromNib;
-(id)initWithFrame:(CGRect)frame;
@end

.m :

@implementation LabelThinText

- (void)awakeFromNib
{
    [super awakeFromNib];
    [self setFont:[UIFont fontWithName:@"Raleway-Light" size:[[self font] pointSize]]];
}

-(id)initWithFrame:(CGRect)frame
{
    id result = [super initWithFrame:frame];
    if (result) {
        [self setFont:[UIFont fontWithName:@"Raleway-Light" size:[[self font] pointSize]]];
    }
    return result;
}

@end    

Storyboard.strings ファイルから自動翻訳を取得するために何かが足りないと思います。

誰にもアイデアがありますか?

ありがとう !

4

3 に答える 3

1

同じ問題に遭遇し、同じ理由で、ラベルにカスタム フォントを設定しました。ただし、私の戦略はもう少し一般的でした。私のカスタム フォントは Helvetica に似ているので、IB の Helvetica Neue をプレースホルダー フォントとして使用しました。UILabel サブクラスはそれをカスタム フォントに変換し、フォントのサイズと太さを維持したので、IB を通じてすべてを制御できました。

これにより、翻訳バグ (バグだと思います) の回避策が簡単になりました。viewDidLoad ですべてのビューを再帰的にトラバースし、プレースホルダー フォントと一致する場合はすべての UILabel フォントをマップし、私の場合は UIButton も同様にマップします。

バグを報告しましたか?

于 2013-06-26T19:33:45.233 に答える
0

私もこの問題を抱えています。各ViewControllerでカスタムフォントを設定して解決します。例を示しましょう。

 CustomViewController.h
@interface CustonViewController

@property (strong, nonatomic) IBOutlet UILabel* someLabel;

@end

CustomViewController.m

- (void)viewDidLoad
{
  [self setUoFonts];
}

- (void)setUpFonts
{
    self.someLabel.font = [UIFont fontWithName:@"AmaticSC-Regular" size:self.someLabel.font.pointSize];  
}

以上です!。翻訳とカスタム フォントを用意します。

StoryBoard からカスタム クラスを忘れずに削除してください。

于 2013-11-28T16:32:30.203 に答える