Где я могу найти значок Spinner в SwiftUI? - PullRequest
3 голосов
/ 08 января 2020

Я узнал, что можно визуализировать системные изображения следующим образом:

Image(nsImage: NSImage(imageLiteralResourceName: NSImage.addTemplateName))

Но, похоже, нет соответствующего имени шаблона для счетчика: enter image description here

Должен ли я использовать пользовательские SVG?

Ответы [ 2 ]

4 голосов
/ 08 января 2020

Вы можете использовать NSProgressIndicator непосредственно в SwiftUI:

Реализация

struct ProgressIndicator: NSViewRepresentable {

    typealias TheNSView = NSProgressIndicator
    var configuration = { (view: TheNSView) in }

    func makeNSView(context: NSViewRepresentableContext<ProgressIndicator>) -> NSProgressIndicator {
        TheNSView()
    }

    func updateNSView(_ nsView: NSProgressIndicator, context: NSViewRepresentableContext<ProgressIndicator>) {
        configuration(nsView)
    }
}

Пример использования

var body: some View {
    ProgressIndicator {
        $0.controlTint = .blueControlTint
    }
}

Вы можете заменить TheNSView любым другим NSView вам нужно использовать в SwiftUI.

0 голосов
/ 08 января 2020

Этот значок не может быть получен как изображение.

Я добавил свой исходный код из моего класса быстрого интерфейса: ActivityIndicator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...