美文网首页
Storyboard 本地化一种方式

Storyboard 本地化一种方式

作者: 孔凡伍 | 来源:发表于2016-11-28 16:16 被阅读39次

官方推荐的我就不说了,介绍下我如何做的。

子类化所有base UI控件,让我们实际创建的类继承自base UI,在willMoveToSuperview: 方法重新代码设置本地化。如

#import "XLTextView.h"

@implementation XLTextView

- (void)willMoveToSuperview:(UIView *)newSuperview
{
    [super willMoveToSuperview:newSuperview];
    
    self.text = NSLocalizedString(self.text, nil);
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end

之后就在SB里用这个类就行了。
缺点是需要继承。需要子类化所有bese UI。如果是闭源SDK UI控件不方便继承之能拖拉对象,自行处理了。

我曾想过用方法调试来处理本地化,但是这个黑魔法都建议在initialize方法处理。所以不太合适。如果有其他方法欢迎提出来。

相关文章

网友评论

      本文标题:Storyboard 本地化一种方式

      本文链接:https://www.haomeiwen.com/subject/qjpopttx.html