2014-07-07 3 views
0

내 앱의 모든 글꼴을 맞춤 설정하고 최소한 저항의 길과 같아 보이는 한 [UILabel appearance] API를 사용하고 싶습니다. 이것도 (예상대로) UIAlertView 안에있는 라벨에 영향을 주지만 알림보기를 맞춤 설정하면 앱이 거부 될 수 있음을 알고 있습니다.UIAlertView에 외관 프록시를 사용하면 UIAlertView가 변경되기 때문에 내 앱이 거부됩니까?

아무도이 경험이 있습니까? 대신 내 자신의 하위 클래스 인 UILabel을 만들어야하고 내 앱의 각 라벨에 수동으로 적용해야하나요?

+0

나는 시스템에 따라 경고보기의 라벨을 사용자의 의도에 맞게 경우 그 문제되지 않을 것 같아요 모양의 세부. 당신은 공개 API를 사용하고 있습니다. 이것은 그것이 목표의 일부분 일지라도 부작용입니다. – holex

답변

1

UILabel 클래스는 UIAppearanceContainer 프로토콜을 준수하므로 UILabel.h는 UIAppearance 사용을위한 필수 조건 인 UI_APPEARANCE_SELECTOR로 표시된 속성이 없음을 보여줍니다. 따라서 아래와 같이 UILabel 서브 클래스를 생성해야합니다.

@interface SmallLabel : UILabel 

@end 

@implementation SmallLabel 

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

@end

난 당신처럼 서브 클래스 뭔가 alsotry 수 있다고 생각 :

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

그건 좋은 지적입니다, 고마워요! – oztune