Как реплицировать фон элементов UIKit / SwiftUI (например, фон UITabBar / TabView) - PullRequest
1 голос
/ 26 апреля 2020

Я хотел бы скопировать фон (включая тот же эффект размытия и тонкую серую границу и их адаптивность) UITabBar (и аналогичные элементы UIKit / SwiftUI) и применить его к другому элементу пользовательского интерфейса. Как я могу выполнить sh это?

Я пытался скопировать его, но когда я накладываю свой новый вид на другие виды с разными цветами, поведение отличается (и ни ночной режим не поддерживается).

Мне все равно, будет ли ответ для фреймворка UIKit или SwiftUI.

1 Ответ

1 голос
/ 26 апреля 2020

См. UIColor расширения в модуле UIInterface, как в примерах ниже (их много):

 * 1. systemBackground
 *    Use this stack for views with standard table views, and designs which have a white
 *    primary background in light mode.
 */
@available(iOS 13.0, *)
open class var systemBackground: UIColor { get }


/* 2. systemGroupedBackground
 *    Use this stack for views with grouped content, such as grouped tables and
 *    platter-based designs. These are like grouped table views, but you may use these
 *    colors in places where a table view wouldn't make sense.
 */
@available(iOS 13.0, *)
open class var systemGroupedBackground: UIColor { get }


/* Fill colors for UI elements.
 * These are meant to be used over the background colors, since their alpha component is less than 1.
 *
 * systemFillColor is appropriate for filling thin and small shapes.
 * Example: The track of a slider.
 */
@available(iOS 13.0, *)
open class var systemFill: UIColor { get }
...