在UILabel上使用外观代理会让我的应用被拒绝,因为它会改变UIAlertView吗?

时间:2014-07-07 15:48:58

标签: ios uilabel uialertview appstore-approval uiappearance

我希望自定义我的应用中的所有字体,并且一直使用[UILabel appearance] API,因为它似乎是阻力最小的路径。 我注意到这也会影响UIAlertView内部的标签(正如预期的那样),但我也知道自定义警报视图可能会导致应用被拒绝。

有没有人有这方面的经验?我应该只创建自己的UILabel子类并将其手动应用于我的应用中的每个标签吗?

1 个答案:

答案 0 :(得分:1)

UILabel类符合UIAppearanceContainer协议,对UILabel.h的检查表明,它的所有属性都没有使用UI_APPEARANCE_SELECTOR标记,这是使用UIAppearance的先决条件。所以你需要创建UILabel子类,如下所示。

@interface SmallLabel : UILabel

@end

@implementation SmallLabel

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
}
  return self;
}

@end

我认为你可以在你的子类中使用类似的东西:

UIFont *newFont = [UIFont fontWithName:@"YourFontName" size:self.font.pointSize];
self.font = newFont