Tabs like in Safari with SwiftUI - swift

I'm planning an app, that offers the possibility, to handle itself multiple times in tabs. In other words: Imagine, that the app starts with tab1 and it shows the main screen. You can work as normal. Then you wanna check something in the app somewhere else, but you want to keep your work as it is, so you open a new tab und start navigating to the point you want to. Then you can switch back to tab1 or again to tab2 and everything will remain in these tabs. So it means I want to have multiple instances of the app in different tabs (as you would open a website several times in a tabbed browser).
Is this possible in iOS and if yes, how could I do that with SwiftUI? Would be perfect, if it looks like the tabs in Safari on macOS or iPadOS.

Related

Full page view - Issues with Auto-fill code - Flutter

In my flutter app, I'm implementing a full page view using -
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
Now, It works just fine until I reach a page in the app that uses PinCodeTextField. In that page, a user can input the received OTP.
Now, the issue is that as soon as the page is opened, "Auto-fill code from Messages" appears and it brings back the notification bar as well as the bottom menu bar.
I have not implemented this feature and looks like somehow It has come on its own. Though, it is a nice feature to have, I really don't want it to mess up my app's full page view. Not until I restart the app, it goes back to full page view but again whenever I reach to a page with PinCodeTextField, that popup appears and messes things up.
Now, how do I force my app to go back to full page view ? If that is not possible, how do I stop Auto-fill code to keep coming on my screen on such pages ?? Kindly help.

Make application not take over menu bar but still have dock icon?

I'm making an application that I want to function like a status bar app, where it doesn't control the menu bar (so if it's open over, say, Firefox, the menu is still the one for Firefox), but I also want people to be able to cmd-tab to it for keyboard navigation purposes. I know about Application is Agent, but that only flips both those things at once. Is there some more granular control elsewhere that allows me to change these aspects individually?

How do I prevent a MacOS WebView from losing first responder after hitting tab?

My app has a WebView within a SplitView, displaying a few HTML tables. It uses javascript to move between these tables using the TAB key. However, after hitting tab once the webView is no longer selected and the app selects another pane of my app to continue listening to tab events.
1) Is there a way to prevent this behavior?
2) Is this the default behavior of hitting tab on a WebView, or is there something else going on in my app that is reassigning the first responder?
Override nextKeyView to return nil in any class for which you want to keep the first responder despite pressing tab.
However, this will make your app harder to navigate, especially using accessibility. I instead recommend using a key other than tab to trigger moving between tables.

Remove a tab from a tabGroup's navigation without removing it from the tabGroup?

I'm using Appcelerator Titanium to build an iPhone app. I currently have a tabGroup control that links to the major sections of the app, including the home screen.
What I'd like to do is remove the "Home" tab only from the navigation, without removing it from the tabGroup object. So, for example, I'd still be able to call tabGroup.setActiveTab(0) and it would take me to the home screen, but the tabs at the bottom wouldn't have a "home" button.
Is this even possible? If so, how can I do it?
Notes: I do not want to hide the whole bar, just a single tab. I also do not want to remove the screen from the underlying object, just the navigation UI. Also, I'm only developing for iPhone and don't care if other platforms aren't supported, so iPhone-only solutions are acceptable.
take the home screen out of the tab group completely and manage displaying it and transitioning to it separately; in the end, it will be a cleaner solution.
Have you tried tab.hide() or when creating the tab setting it to visible: 0?

App design: UITabBarController within UINavigationController

I have a very specific application design that I'm trying to figure out how to create with iOS 4.
Here's how it works:
The user selects an installed data set, or triggers a data set download.
The user provides a key for decrypting the data set.
A tab bar is shown with different search options for looking at the data. There are more searches than fit on the tab bar, so there's a More item and an Edit button. (Thanks, Apple!)
The searches provide different options, some requiring an additional screen for setup.
Once a search result is tapped, the user sees details. They can usually tap deeper into the result.
The tab bar stays visible as users look at details, letting them start a different kind of search. Tapping a search takes them back to step 3.
If at any time the device goes to sleep, the data must be locked. This is a hard requirement, despite may efforts to remove it. So at the moment, I'm returning to step 2.
I've implemented this in iPhone OS 3.1 with a UINavigationController for steps 1 and 2. The app pushes a UITabBarController with each tab represented by a UINavigationController for step 3, hiding the navigation on the outer controller. The user then operates within this UITabBarController. For a lock, I just pop the tab controller off the navigation controller.
It mostly works in iPhone OS 3.1, but it's fragile and hackish. There was no good way to change the data set, but the user could just close the app. With iOS 4 this workaround is gone! The only option I see is returning to step 2 on a supsend/resume, which is going to be a terrible multitasking experience.
How should I be doing this?
The tabs don't make sense until the data set is opened and unlocked.
I (and my users) really like the single tap (no matter the depth) to start a new search.