web-dev-qa-db-ja.com

UISegmentedControl iOS 13 SelectedTintデフォルト色

SelectedTintColorのデフォルトのUISegmentControlを別のビューに一致させたいのですが、属性インスペクターで提供されるデフォルトのシステム*色から一致する色が見つかりません。

背景は.quaternarySystemFillのようですが、明るいモードと暗いモードの両方で選択した色に一致する色がありません。

.selectedSegmentTintColornilを返すため、この方法で色を設定しても機能しません。

label.backgroundColor = segmentedControl.selectedSegmentTintColor

誰かが正しい色を知っていますか、それともカスタム色でこれを行う必要がありますか?

編集:UISegmentedControl_lightUISegmentedControl_dark

編集2:現在、この行は動作しますが、もっと良い方法があるでしょうか?

label.backgroundColor = label.traitCollection.userInterfaceStyle == .light ? .white : .tertiaryLabel
2
tomaculum

セグメントバーのティントカラーと同じ背景を変更したい場合は、以下を試してください。

yourLabel.backgroundColor  = segmentControl.tintColor.

私が試した

var myNormalFont = UIFont.FromName( "OpenSans-SemiBold"、19f); var myNormalTextColor = UIColor.LightGray; AlertsSegmentedControl.SetTitleTextAttributes(new UITextAttributes(){Font = myNormalFont、TextColor = myNormalTextColor}、UIControlState.Normal); var mySelectedFont = UIFont.FromName( "OpenSans-SemiBold"、19f); var mySelectedTextColor = UIColor.White; AlertsSegmentedControl.SetTitleTextAttributes(new UITextAttributes(){Font = mySelectedFont、TextColor = mySelectedTextColor}、UIControlState.Selected); AlertsSegmentedControl.BackgroundColor = UIColor.Clear;

1
Haya Hashmat