Como colocar o botão SwiftUI em NSToolbar?

Vadim

É assim que o SwiftUI pode ser inserido NSToolbarusando um controlador de visualização de acessório:

import SwiftUI
import PlaygroundSupport

var hostingView = NSHostingView(rootView:
  ZStack {
    Color.clear
    HStack {
      Text("Hey")
      Text("SwiftUI")
    }
  }
  .padding()
  .edgesIgnoringSafeArea(.all)
)
hostingView.frame.size = hostingView.fittingSize

let titlebarAccessory = NSTitlebarAccessoryViewController()
titlebarAccessory.view = hostingView
titlebarAccessory.layoutAttribute = .trailing

let mask: NSWindow.StyleMask = [.titled, .closable, .miniaturizable, .resizable]
let window = NSWindow(
  contentRect: .init(x: 0, y: 0, width: 480, height: 300),
  styleMask: mask, backing: .buffered, defer: false)
window.center()
window.contentView = NSHostingView(rootView: Color(.windowBackgroundColor))
window.toolbar = .init()
window.titleVisibility = .hidden
window.addTitlebarAccessoryViewController(titlebarAccessory)

PlaygroundPage.current.liveView = window.contentView?.superview

O código acima funciona:

Se inserirmos um botão, no entanto:

HStack {
  Text("Hey")
  Button(action: {}) {
    Text("SwiftUI")
  }
}

Não funcionaria como esperado:

Alguma sugestão?

PS Esta é uma solução funcional:

HStack {
  Text("Hey")
    .offset(x: 0, y: -1)
  Button(action: {}) {
    Text("SwiftUI")
      .offset(x: 0, y: -7)
  }
}
.font(.caption)

Lucas Derraugh

Postando meu comentário como uma resposta a pedido. Não necessariamente uma solução confiável, mas como uma solução alternativa que você pode usar

Text("SwiftUI")
  .padding(EdgeInsets(top: -7, leading: 0, bottom: 0, trailing: 0))

ou .offsetno texto do botão. Sem garantias de quanto tempo isso vai durar como solução.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como colocar o botão na mesa em Angular

Como colocar o botão em cima da imagem? (tkinter)

Como colocar uma condição no NavigationLink? SWIFTUI

Como colocar um link em um botão com bootstrap?

Como colocar um ícone em um botão de texto?

Como colocar um ícone em um botão (MahApps)

DataTable Como colocar id em um botão?

Como usar um manipulador de conclusão para colocar uma imagem em uma visualização SwiftUI

Como colocar o botão logo após o texto em react-native?

Como colocar a validação no formulário em que botão não é usado no Ruby On Rails?

Como posso colocar o botão flutuante em uma posição específica

Como faço para colocar o botão em h3 com tela flexível

Como colocar um botão em uma coordenada específica em uma visualização de imagem

Como colocar o avg em ordem decrescente?

como colocar a linha em todo o caminho?

Como colocar o formatador sh em funcionamento?

como colocar a função dormir em javascript?

como colocar em compreensão de lista

Usando o ColorPanel no NSToolbar em Swift

Como posso colocar texto em um rótulo de botão de opção?

Como colocar um botão em uma animação de carregamento com Kivy?

Como colocar a condição no próximo botão em um aplicativo HTML / Js?

Como colocar um botão de ação flutuante em um tableView no swift no iOS?

Como colocar uma barra de pesquisa em um NSToolbar em um aplicativo Catalyst?

Como obter a id do remetente do botão? em SwiftUI

como alternar a guia programaticamente no clique do botão em Swiftui

Como colocar booleano no clique do botão?

como atrasar colocar no botão clique android

Flutter, como colocar a IU no botão?

TOP lista

quentelabel

Arquivo