IOS 13 下的 UISegmentedControl

UISegmentedControl under IOS 13

在 IOS 13 下,似乎无法以编程方式更改分段控件的背景或色调。我的应用程序在蓝色黑色背景和白色色调下正常运行,现在显示为 white/gray 背景和黑色色调。更改颜色的代码正在执行并且没有错误。

有人知道如何做到这一点吗?

使用 objective-C,有一个表视图,其中包含一组由带标签的分段控件组成的数据元素。

设置值......是 否

我可以使用

更改 Label 元素的颜色
[ee setLabelColor:[UIColor blueColor];

但我不知道如何更改分段控件的背景或文本颜色。我需要在 NSMutableDictionary 上使用属性吗?

    NSMutableDictionary *dd = [[NSMutableDictionary alloc] init];

    DataElement *ee;
    ee  = [[DataElement alloc] initSegmentedControlWithLabel:@"Set Value" defaultValue:[s intValue] items:[NSArray arrayWithObjects:@"No", @"Yes", nil]];

[ee setTextColor;[UIColor blueColor]];


    [dd setObject:ee forKey:@"dataElement"];
    [dd setObject:@"Set-Value" forKey:@"type"];
    [aSpecific addObject:dd];

tableview 显示带有标签,但分段控件在 white/off 白色背景中有 YES 和 NO。

在iOS 13、改变tint颜色的方法(标题和图像都着色)是用不同的.foregroundColor调用分段控件的setTitleTextAttributes(_:for:)