Code Monkey home page Code Monkey logo

Comments (4)

micbakos avatar micbakos commented on May 24, 2024 1

I can attest to that. I couldn't find out what is going on until I discovered this issue. It doesn't have to be presented with fullScreen btw.

Personally,

  1. I have a root view @Root var home = makeHome which navigates to a Withdraw view with the push mechanism.
  2. The second view @Route(.push) var withdraw = makeWithdraw has a button that opens the address scanner screen (A screen that scans for QR codes with camera) @Route(.push) var addressScanner = makeAddressScanner.
  3. When this screen appears, I request for AVCaptureDevice.requestAccess(for: .video) video permission, which, pops both address scanner view, and the withdraw view until it navigates back to the home view.
  4. At this point the system's dialog is still visible, but my app's top view is home.

As @PeterKovacs89 mentions the internal func appear(_ int: Int) is called with int = -1.

from stinsen.

rundfunk47 avatar rundfunk47 commented on May 24, 2024

Tricky issue to fix honestly. Perhaps a way to temporarily suspend the appear-function would work? 🤔

from stinsen.

lonkly avatar lonkly commented on May 24, 2024

95% related to iOS16 new NavigationStack thing, getting the same symptoms with Bluetooth pairing request - it breaks the navigation, exactly when the system alert window appears.

from stinsen.

Charlyk avatar Charlyk commented on May 24, 2024

Hello,
I've got yesterday into this issue and started to debug it. I found what was causing this behavior, in my case I had a navigation drawer that was wrapping the content and inside I had a GeometryReader around the whole drawer, and when presenting alerts or keyboard is showing, that GeometryReader had to rerender it's children and thus the entire stack was popping to root each time because all the main content was inside of it.
I moved the content view in the drawer out of GeometryReader and it worked as expected. In your case it might not be a GeometryReader but the idea is that when presenting default alerts or keyboard, it may trigger a rerender somewhere in the begining of stack.
Another way that can help you with this is to conform views to Equatable and let SwiftUI know if the view needs to be rerendered or not, but this will not help in cases like mine because GeometryReader will rerender if something triggers it.

Hope this will help.

from stinsen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.