Как изменить текст UISwitch iOS 5? - PullRequest
0 голосов
/ 01 декабря 2011

Я использовал код (категорию) ниже, чтобы изменить его, но он не работает.

код: (оригинальный код взят из 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]; 
}

Любая идея, пожалуйста.

1 Ответ

0 голосов
/ 01 декабря 2011

Этот код обращается к подпредставлениям по индексам, и они могли измениться в новой iOS. Распечатайте все подпредставления переключателя и найдите те, которые вам нужны.

...