아래 코드 (categorie)를 사용하여 작동하지 않는 코드를 변경했습니다.UISwitch의 텍스트를 iOS 5로 변경하는 방법은 무엇입니까?
코드는 : (원래의 코드는 iphone cookbook 8 장에서 가져온)
#import "UISwitch+Extended.h"
@interface UISwitch (extended)
- (void) setAlternateColors:(BOOL) boolean;
@end
@interface _UISwitchSlider : UISlider
@end
@implementation UISwitch (Extended)
- (_UISwitchSlider *) slider {
return [[self subviews] lastObject];
}
- (UIView *) textHolder {
return [[[self slider] subviews] objectAtIndex:1];
}
- (UILabel *) leftLabel {
return [[[self textHolder] subviews] objectAtIndex:0];
}
- (UILabel *) rightLabel {
return [[[self textHolder] subviews] objectAtIndex:1];
}
- (void) setLeftLabelText: (NSString *) labelText {
[[self leftLabel] setText:labelText]; //error occurred here.
}
- (void) setRightLabelText: (NSString *) labelText {
[[self rightLabel] setText:labelText];
}
어떤 생각하시기 바랍니다.
개인보기 계층 구조에 의존하는 이유 중 가장 좋은 예는 끔찍한 생각입니다. 이것은 해킹이며 대부분의 해킹과 마찬가지로 변경되는 즉시 중단됩니다. – jrturton