Under iPadOS 18, I would like the main content to remain the same size regardless of whether the tab bar is hidden or visible.
Is there an easy way to do this?
Post
Replies
Boosts
Views
Activity
I found two tab bar issues:
How do you programmatically hide/show the tab bar for iPadOS and Catalyst apps under macOS Sequoia? Also, is there a way to prevent the user from doing this via the menu?
Programmatically changing the current tab view correctly changes the tab view but not the tab item highlighted in the tab bar in:
Mac Catalyst apps under Sequoia
iPad apps under Sequoia
tvOS 18 apps
Is there a workaround I can use until this bug is fixed?
Here's a side view of the views:
a b
| | c
| | |
| |
View a is the full screen custom view underneath the other views
View b is the full screen TabView
View c is a smaller custom view shown via the first tab
I'm using the trick linked below to make the TabView background transparent so you can see the full screen custom view behind it:
https://stackoverflow.com/questions/63178381/make-tabview-background-transparent
https://stackoverflow.com/a/63179684
As mentioned earlier, in the first tab there is a smaller custom view (shown as view c above). You can interact with it by tapping.
However, if you tap outside this smaller custom view, the tap should go to the full screen custom view underneath the TabView.
How do I accomplish this?
BTW, both custom views are UIViewRepresentable views in case that matters.
The license includes this sentence:
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
Does this mean the license needs to be included or shown somehow in binary distributions of an app?
Or does this only apply to distributing the source code?
Could a service like RevenueCat help you do this without a server?
This presents a problem for the Mac catalyst version of the app because Game Center won't work via TestFlight without this entitlement.
This happens with macOS 12.6.1 and Xcode Version 14.1 (14B47b).
Following the advice here:
https://developer.apple.com/documentation/gamekit/enabling_and_configuring_game_center
I tried allowing incoming connections in addition to outgoing connections but it doesn't help.
I get this error:
Could not get services from gamed. Please file a radar including GameKit logs, and any gamed crash logs. ERROR Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.gamed was invalidated: failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.gamed was invalidated: failed at lookup with error 159 - Sandbox restriction.}
This happens on macOS 12.6.1.
What am I doing wrong? Is there a workaround?
Is there a way to stop this from happening? Is it a bug in the beta?
I don't understand the changes made to the tab bar in iOS 15.
In my app, I have a collection view that goes all the way down to the bottom of the screen.
When the tab bar appears, it covers some of that collection view, which is fine.
However, in iOS15, the tab bar has no background (and no blur effect), thus making the tab bar item text hard to see over the collection view.
In interface builder, I tried turning on the "Scroll Edge" option. This gives a translucent background to the tab bar similar to what I had in iOS 14.
Unfortunately, the menu tab bar item text size is affected by this option. For some reason, it doesn't use the font size I set, but something smaller.
Why is this happening? How do I get it to use the correct font size?
P.S. I'm only using text for the tab bar items. There are no images.
If you try to change the bar item text color programmatically like in iOS 14, it doesn't work in iOS 15.
For example:
// https://stackoverflow.com/questions/2576592/changing-font-size-of-tabbaritem/
UITabBarItem.appearance().setTitleTextAttributes(
[NSAttributedString.Key.foregroundColor: UIColor.red],
for: .normal)
This correctly changes the color when the tab bar is on top of a scroll view.
However, when the tab bar background becomes clear, all tab bar item text is red and not just the text for the currently selected tab.
Is this a bug in iOS 15? Or is this code wrong for iOS 15?
Returning [.bottom] from preferredScreenEdgesDeferringSystemGestures does not work for me.
Is there any way to get this behavior in iOS 15?
This is particularly important for games.
When starting a project from scratch in Xcode 13, an app info property is put in the target settings under "info" or in a separate file "appname-iOS-info".
So where should I put the UIUserInterfaceStyle property to indicate that an app is dark mode only?
Or is there another way to indicate that an app is dark mode only?
In particular, it shows the friends leaderboard. You could of course switch to the global leaderboard manually but I want the global leaderboard to appear initially.
This is the constructor that I tried that fails:
GKGameCenterViewController(leaderboardID: ..., playerScope: .global, timeScope: .allTime)
Is it possible to show the global leaderboard initially?