如何更改UISwitch的iOS 5文本?

时间:2011-12-01 11:56:19

标签: iphone objective-c xcode custom-controls uiswitch

我使用下面的代码(类别)更改它不起作用。

代码:(原始代码取自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 :(得分:0)

此代码按索引访问子视图,它们可能已在新iOS中更改。打印交换机的所有子视图,找到所需的子视图。