AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-11088841

routern's questions

Martin Hope
routern
Asked: 2025-04-23 19:31:06 +0800 CST

Como ocultar o fundo de matchedTransitionSource?

  • 5

Como posso ocultar o fundo de um NavigationLink animado enquanto uso o gesto de deslizar para voltar? Aqui está o que eu tenho atualmente: e como eu quero que fique: semelhante ao app Fotos do iOS. Não tenho problema em cobrir o fundo com uma cor sólida ou um desfoque forte, mas não quero que ele fique visível durante a transição.
animação #1

animação #2

struct ContentView: View {
    @Namespace private var transitionNamespace
    var body: some View {
        NavigationStack {
            VStack {
                Text("Should not be visible while swiping")

                let value = "details"
                NavigationLink(value: value) {
                    Text("Link")
                        .frame(width: 200, height: 50)
                        .background(Color.green.opacity(0.5))
                        .clipShape(RoundedRectangle(cornerRadius: 32))
                        .matchedTransitionSource(id: value, in: transitionNamespace)
                }
            }
            .navigationDestination(for: String.self) { value in
                ZStack {
                    Color.yellow.ignoresSafeArea(.all)
                    Text(value)
                }
                .navigationTransition(.zoom(sourceID: value, in: transitionNamespace))
                .navigationBarBackButtonHidden(true)
            }
        }
    }
}

Outro pequeno problema relacionado: por que essa borda branca aparece enquanto o gesto está em andamento? Como posso corrigir a cor? bordas brancas

struct ContentView: View {
    @Namespace private var transitionNamespace
    var body: some View {
        NavigationStack {
            ZStack {
                Color.purple.ignoresSafeArea(.all)
//                    .padding(-200) // this is a solution?
                VStack {
                    Text("Should not be visible while swiping")

                    let value = "details"
                    NavigationLink(value: value) {
                        Text("Link")
                            .frame(width: 200, height: 50)
                            .background(Color.green.opacity(0.5))
                            .clipShape(RoundedRectangle(cornerRadius: 32))
                            .matchedTransitionSource(id: value, in: transitionNamespace)
                    }
                }
            }
            .navigationDestination(for: String.self) { value in
                ZStack {
                    Color.yellow.ignoresSafeArea(.all)
                    Text(value)
                }
                .navigationTransition(.zoom(sourceID: value, in: transitionNamespace))
                .navigationBarBackButtonHidden(true)
            }
        }
    }
}
  • 1 respostas
  • 36 Views
Martin Hope
routern
Asked: 2025-02-05 01:07:39 +0800 CST

Como tornar novos itens editáveis ​​imediatamente?

  • 5

Há uma lista com duas seções: opções escolhidas , que são reordenáveis ​​e deletáveis, e opções sugeridas , que podem ser adicionadas às escolhidas. Como fazer novos itens serem arrastáveis ​​e removíveis instantaneamente? A captura de tela mostra como fica, eu quero que "cinco" e "seis" sejam editáveis ​​instantaneamente quando adicionados.

É muito estranho para mim que quando eu uso ForEach(suggested, id: \.self)em vez de ForEach(filteredSuggestions(), id: \.self), a seção escolhida parece como esperado , mas a sugerida obviamente não.

struct EditorView: View {
    @State var chosen = ["one", "two", "three", "four"]
    let suggested = ["five", "six", "seven", "eight"]

    var body: some View {
        List {
            Section {
                ForEach(chosen, id: \.self) { item in Text(item) }
                    .onDelete{ _ in }
                    .onMove{ _, _ in }
            } header: { Text("chosen") }
            Section {
                ForEach(filteredSuggestions(), id: \.self) { item in
                    HStack(spacing: 14) {
                        Button { chosen.append(item) }
                        label: {
                            Image(systemName: "plus.circle.fill")
                                .imageScale(.large)
                                .foregroundStyle(.green)
                        }
                        Text(item)
                    }
                }
            } header: { Text("suggested") }
        }
        .environment(\.editMode, .constant(.active))
    }
    
    private func filteredSuggestions() -> [String] {
        return suggested.filter { item in
            !chosen.contains(item)
        }
    }
}
  • 1 respostas
  • 56 Views
Martin Hope
routern
Asked: 2024-12-24 06:57:02 +0800 CST

Como combinar contextMenu e RoundedRectangle?

  • 5

Estou tentando criar uma lista de elementos não retangulares, cada um dos quais tem um menu de contexto. No entanto, estou encontrando um problema com os cantos ao executar um pressionamento longo.

Qual é a maneira correta de usar tal combinação? Não quero usar List por causa do estilo padrão. O problema ocorre apenas enquanto a animação está em andamento.

processo de animação pressionado longamente

Aqui está um exemplo de código simplificado que pode ser copiado, colado e executado em um arquivo. O vídeo foi gravado no dispositivo com iOS 18.2

import SwiftUI

@main
struct MyApp: App {
    var body: some Scene { WindowGroup { TestView() } }
}

struct TestView: View {
    let items = ["Item 1", "Item 2", "Item 3"]
    var body: some View {
        VStack {
            ForEach(items, id: \.self) { item in
                HStack {
                    Text(item)
                    Spacer()
                    Image(systemName: "star")
                }
                .padding()
                .background(.yellow)
                // tried all these in different combinations, none works
                .contentShape(RoundedRectangle(cornerRadius: 10))
                .clipShape(RoundedRectangle(cornerRadius: 10))
                .containerShape(RoundedRectangle(cornerRadius: 10))
                .contextMenu {
                    Button { print("Edit \(item)") }
                    label: { Text("Edit"); Image(systemName: "pencil") }
                }
            }
        }
        .padding()
    }
}

#Preview { TestView() }
  • 1 respostas
  • 44 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve