Così ho provato a modificare l'attributo text del titolo del mio UISegmentedControl, ma non funziona, non cambia nulla. Ho anche applicato uno sfondo e un divisore personalizzati e funziona correttamente, ma non questo.UISegmentedControl setTitleTextAttributes non funziona
NSDictionary *normaltextAttr =
@{[UIColor blackColor]: UITextAttributeTextColor,
[UIColor clearColor]: UITextAttributeTextShadowColor,
[UIFont fontWithName:_regularFont size:20.f]: UITextAttributeFont};
NSDictionary *selectedtextAttr =
@{[UIColor colorWithRed:135.0/255.0 green:135.0/255.0 blue:135.0/255.0 alpha:1.0]: UITextAttributeTextColor,
[UIColor clearColor]: UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)]: UITextAttributeTextShadowOffset,
[UIFont fontWithName:_regularFont size:0.0]: UITextAttributeFont};
[[UISegmentedControl appearance] setTitleTextAttributes:normaltextAttr
forState:UIControlStateNormal];
[[UISegmentedControl appearance] setTitleTextAttributes:selectedtextAttr
forState:UIControlStateSelected];
funziona! quindi questo metodo non ama il dizionario letterale? – harinsa
I letterali dei dizionari funzionano bene; se non lo facessero, ci sarebbe un bug serio in iOS! '[self setTitleTextAttributes: @ {UITextAttributeTextColor: [UIColor redColor]} forState: UIControlStateNormal];' – NathanAldenSr
Sarebbe bello se le risposte indichino ciò che è sbagliato invece di pubblicare semplicemente qualcosa che funzioni. –