IOS 26 UIButton, видный цвет значка ClearGlass не адаптируется к яркости/темноте содержимого, находящегося за ним.IOS

Программируем под IOS
Ответить
Anonymous
 IOS 26 UIButton, видный цвет значка ClearGlass не адаптируется к яркости/темноте содержимого, находящегося за ним.

Сообщение Anonymous »

В iOS 26 мне нужен UIButton, чтобы автоматически адаптировать цвет значка в зависимости от содержимого, стоящего за ним. Например, если за ним находится прокручиваемая таблица и содержимое становится светлым, то значок кнопки должен быть черным. Если содержимое темное, значок должен быть белым. Значки iOS UITabBar уже делают это.
Как мне сделать это с UIButton различных стилей: UIButton.Configuration.glass(), .clearGlass(), .prominentGlass(), .prominentClearGlass()?
В примере ниже показана проблема:

Код: Выделить всё

import UIKit
import SnapKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

view.backgroundColor = .lightGray

let stackView = UIStackView()
stackView.axis = .vertical
stackView.spacing = 20
view.addSubview(stackView)
stackView.snp.makeConstraints { make in
make.center.equalToSuperview()
}

let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .bold, scale: .large)

let padding = 20.0

[UIButton.Configuration.glass(),.clearGlass(),.prominentGlass(),.prominentClearGlass()].forEach { config in

let button = UIButton(configuration: config)
button.setImage(UIImage(systemName: "square.and.pencil", withConfiguration: imageConfig)?.withRenderingMode(.automatic), for: .normal)
button.configuration?.contentInsets = NSDirectionalEdgeInsets(top: padding, leading: padding, bottom: padding, trailing: padding)
stackView.addArrangedSubview(button)

}

}

}

}
Выше будет получено:
Изображение

И если я установлю чисто белый цвет фона, получится:
Изображение

Как видите, цвета значков не адаптируются к содержимому, и поэтому их трудно читать. Как можно заархивировать это в своих значках UITabBar?
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... ightness-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»