Вы можете использовать расширение. Кроме того, вы можете решить эту проблему, используя простую однострочную строку, которая устанавливает цвет текста для ваших отключенных сегментов по умолчанию tintColor
из segmentedControl
:
let segmentItems = ["one", "two", "three"]
let mySegmentedControl = UISegmentedControl(items: segmentItems)
UISegmentedControl.appearance().setTitleTextAttributes([NSAttributedString.Key.foregroundColor:mySegmentedControl.tintColor], for: .disabled)
mySegmentedControl.setEnabled(false, forSegmentAt: 0)
Убедитесь, что вы используете UISegmentedControl
вместо mySegmentedControl
, поскольку appearance()
является статическим методом класса UISegmentedControl
.
Это скриншот моего кода, когда я запускаю его на детской площадке: