我用下面的代碼(categorie)來改變它不起作用的BU。如何更改UISwitch的文本iOS 5?
代碼:(從iphone cookbook章8-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