mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix tintColor in SegmentedControlIOS component
Summary: iOS 13 introduced a new design for `UISegmentedControl` and new APIs to control this. `[UISegmentedControl tintColor]` is now ignored. We try to maintain backwards compatibility so the appearance is as close as possible to iOS 12. Changelog: Fix `tintColor` on SegmentedControlIOS Reviewed By: shergin Differential Revision: D17905892 fbshipit-source-id: 964ac64c8543660929c43b427dce4f78094b1255
This commit is contained in:
committed by
Facebook Github Bot
parent
8bce9c59bb
commit
be89e4d928
@@ -39,6 +39,21 @@
|
||||
super.selectedSegmentIndex = selectedIndex;
|
||||
}
|
||||
|
||||
- (void)setTintColor:(UIColor *)tintColor
|
||||
{
|
||||
[super setTintColor:tintColor];
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
||||
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
||||
if (@available(iOS 13.0, *)) {
|
||||
[self setSelectedSegmentTintColor:tintColor];
|
||||
[self setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}
|
||||
forState:UIControlStateSelected];
|
||||
[self setTitleTextAttributes:@{NSForegroundColorAttributeName: tintColor}
|
||||
forState:UIControlStateNormal];
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)didChange
|
||||
{
|
||||
_selectedIndex = self.selectedSegmentIndex;
|
||||
|
||||
Reference in New Issue
Block a user