Um pacote Swift que preenche lacunas do SwiftUI com views, extensões e wrappers para funcionalidades do UIKit e AppKit.
siteline/swiftui-introspect
Biblioteca Swift que permite acessar a view UIKit ou AppKit subjacente a uma view SwiftUI para personalizá-la.
- Estrelas
- 6,574
- Forks
- 420
- Issues abertas
- 16
- Último commit
- mês passado
O que é?
O SwiftUI não expõe muitas propriedades dos componentes UIKit e AppKit subjacentes. O SwiftUI Introspect preenche essa lacuna adicionando views marcadoras invisíveis ao redor de uma view SwiftUI e, em seguida, procurando na hierarquia de views entre elas a instância UIKit ou AppKit correspondente, como uma UIScrollView ou NSTextField. O closure recebe essa view nativa para que você possa alterar propriedades que o SwiftUI não oferece.
A biblioteca cobre uma ampla variedade de controles, incluindo List, ScrollView, Form, TextField, NavigationStack, TabView, Table e sheets ou popovers. Cada alvo de introspecção exige que uma versão da plataforma seja especificada explicitamente, como .iOS(.v18), pois os tipos de view subjacentes podem mudar entre versões do sistema operacional. Há predicados de versão baseados em intervalos para autores de bibliotecas que queiram oferecer suporte a versões futuras.
O projeto afirma que não usa APIs privadas nem faz force cast de views; se a view esperada não for encontrada, o modifier é ignorado. A documentação recomenda usar a biblioteca com moderação, já que os modifiers nativos do SwiftUI devem ser preferidos quando disponíveis.
Recursos principais
- 01Acessa a view UIKit ou AppKit subjacente a muitos controles SwiftUI.
- 02Oferece suporte a plataformas iOS, tvOS, visionOS e macOS.
- 03Exige a indicação explícita da versão do sistema operacional para cada alvo de introspecção.
- 04Oferece predicados de versão baseados em intervalos para versões futuras das plataformas.
- 05Permite que desenvolvedores definam tipos de view introspectáveis personalizados para elementos não compatíveis.
Casos de uso
- Alterar o comportamento de bounce ou o background de uma List ou ScrollView SwiftUI.
- Personalizar a aparência de um TextField ou SecureField além do que os modifiers do SwiftUI permitem.
- Estilizar a barra de navegação de uma NavigationStack ou NavigationView.
- Manter uma referência a uma view UIKit nativa para ter controle avançado em um app iOS.
Início rápido
- 1
Adicione o pacote SwiftUIIntrospect às dependências do Swift Package Manager
.package(url: "https://github.com/siteline/swiftui-introspect", from: "27.0.0"), - 2
Adicione o produto SwiftUIIntrospect às dependências do target
.product(name: "SwiftUIIntrospect", package: "swiftui-introspect"),
Antes de usar
- A introspecção exige adesão para cada versão do sistema operacional (por exemplo, .iOS(.v18)), pois os tipos subjacentes do UIKit/AppKit podem mudar entre versões principais.
- Somente os tipos de view listados no README são compatíveis, e muitas views do SwiftUI, como Text e Image, não podem ser introspectadas.
Em coleções
Tópicos
Perguntas frequentes
- O que é swiftui-introspect?
- Biblioteca Swift que permite acessar a view UIKit ou AppKit subjacente a uma view SwiftUI para personalizá-la. O SwiftUI não expõe muitas propriedades dos componentes UIKit e AppKit subjacentes. O SwiftUI Introspect preenche essa lacuna adicionando views marcadoras invisíveis ao redor de uma view SwiftUI e, em seguida, procurando na hierarquia de views entre elas a instância UIKit ou AppKit correspondente, como uma UIScrollView ou NSTextField. O closure recebe essa view nativa para que você possa alterar propriedades que o SwiftUI não oferece.
- swiftui-introspect é gratuito? Qual é a licença?
- swiftui-introspect é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- swiftui-introspect ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de swiftui-introspect foi em 7 de out. de 2026.
- Para que posso usar swiftui-introspect?
- Alterar o comportamento de bounce ou o background de uma List ou ScrollView SwiftUI. Personalizar a aparência de um TextField ou SecureField além do que os modifiers do SwiftUI permitem. Estilizar a barra de navegação de uma NavigationStack ou NavigationView. Manter uma referência a uma view UIKit nativa para ter controle avançado em um app iOS.
- Como instalar swiftui-introspect?
- Adicione o pacote SwiftUIIntrospect às dependências do Swift Package Manager: .package(url: "https://github.com/siteline/swiftui-introspect", from: "27.0.0"), Adicione o produto SwiftUIIntrospect às dependências do target: .product(name: "SwiftUIIntrospect", package: "swiftui-introspect"),
- Onde consigo swiftui-introspect?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/siteline/swiftui-introspect
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Coleção com mais de 500 extensões nativas de Swift que adicionam métodos úteis a tipos da biblioteca padrão, Foundation e UIKit/AppKit.
Uma biblioteca Swift para criar apps nas plataformas Apple com gerenciamento de estado consistente, funcionalidades compostas, controle de efeitos colaterais e forte suporte a testes.
Biblioteca elegante de networking HTTP para Swift, baseada em URLSession, com requisições encadeáveis, codificação, uploads, downloads e validação de respostas.
Um pacote Swift que permite a apps para macOS adicionar atalhos de teclado globais personalizáveis, com uma interface pronta para gravá-los.
Uma CLI em Swift que converte logs de build e testes do xcactivitylog do Xcode em JSON, HTML, Chrome tracing e relatórios de issues.