Próbowałem zmienić atrybut tekstowy tytułu mojego UISegmentedControl, ale to nie działa, nic się nie zmienia. Zastosowałem również niestandardowe tło i dzielnik i działa poprawnie, ale nie to.UISegmentedControl setTitleTextAttributes nie działa
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];
działa! więc ta metoda nie lubi dosłowności słownikowej? – harinsa
Literały słownikowe działają dobrze; jeśli tego nie zrobi, wystąpi poważny błąd w iOS! '[self setTitleTextAttributes: @ {UITextAttributeTextColor: [UIColor redColor]} forState: UIControlStateNormal];' – NathanAldenSr
Byłoby miło, gdyby odpowiedzi wskazywałyby na to, co jest nie tak, zamiast publikowania czegoś, co działa. –