I'm using the new badge feature for UIBarButtonItem, but it's not working properly for me when transitioning between view controllers.
I have two view controller with various right bar button items. In the first view controller the first button (the one with the bell) has a badge with a numeric count. The second view controller has the same button but in the third position. When I push the second view controller, it seems that the badge maintains also the old position, so I see two buttons with badges instead of one. What can I do to fix this?
Design
RSS for tagCreate elegant and intuitive apps that integrate seamlessly with Apple platforms.
Posts under Design tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
With iOS 26 the CPListSection header has a transparent background, and when the list scrolls under the header it doesn't look good at all. We expected to see a glass fading effect maybe, like the one on the top of the screen. Is it a known bug?
I have two views I've applied Liquid Glass to in Swift UI. I've noticed that depending on the height of the view the material changes and I'm not sure why. See the attached screenshot. Both views add the liquidGlass style in the same way but behave very differently on the same background.
Ideally I'd like them to look the same as the bottom one. Is that the same as the clear style?
Hi, it seems like using Table on iPadOS 26 results in the table header not applying a background. When comparing the same code on iPadOS 18, the table header applies a blur behind the header to ensure legibility when the user scrolls the content.
Is there a way to ensure Table applies a background effect to the header so that content remains legible during scrolling?
Here is a minimal example:
struct TablePreviewContent: Identifiable {
var id: Int { text.hashValue }
var text: String
}
#Preview {
let content = [TablePreviewContent(text: "Hello"), TablePreviewContent(text: "World")]
Table(content) {
TableColumn("Title", value: \.text)
}
}
I've attached screenshots of the behavior on iPadOS 26 compared to iPadOS 18 to illustrate the issue.
I'm working on updating our iOS app for the latest Xcode version and noticed the new UIDesignRequiresCompatibility key requirement in Info.plist for apps targeting older iOS designs (without liquid glass). Is there an official timeline for when this compatibility key will be deprecated/removed so that we can plan our liquid glass design changes?
I’m not seeing Liquid Glass on any standard components. A month ago around July 17th I ran our app and saw Liquid Glass on our tab view and various standard components. Those components have not been changed and yet I’m no longer seeing Liquid Glass in our app at all.
Components that were previously liquid glass but now are not include TabView and back navigation buttons.
I set the UIDesignRequiresCompatibility key explicitly to false but no luck. I was seeing this in Beta 7 and Beta 8 on a real device and on a sim.
Hello,
I need some help. I’m creating an application, but in fact it is just an instance of a web page built with WordPress and Elementor.
When submitting it for review, the following adjustment is required:
4.2.2 Design: Minimum Functionality
App example:
https://applink.com.br/appfortrade
Just posted this feedback regarding macOS 26 "Tahoe" (FB19853155) - please support with additional submissions if you share my view. I will miss the beautiful and individual designed icons of the past!
"macOS 26 is enforcing squicles for app icons, falling back to a grey background for 3rd party apps without a compliant AppIcon asset.
As a result many original app icons are reduced in size and hard to distinguish because they share the same background color. Although I respect Apple's strive for an iOS-like UI on Macs, a smooth transition path would be more user- and developer-friendly ... e.g. with some info.plist property to opt-out icon migration, potentially ignored by a future macOS version.
The current solution causes a bad usability, and makes the system look inconsistent as many - especially free - software will not be updated with new icon designs. Please reconsider this bad design decision!"
Feedback ID: FB19846667
When dismissing a Menu view when the device is set to dark appearance, there is a flash of lightness that is distracting and feels unnatural. This becomes an issue for apps that rely on the user interacting with Menu views often.
When using the overflow menu on a toolbar, the effect of dismissing the menu is a lot more natural and there is less flashing. I expect a similar visual effect when creating Menu views outside of a toolbar.
Has anyone found a way around this somehow?
Comparison between dismissing a menu and a toolbar overflow: https://www.youtube.com/shorts/H2gUQOwos3Y
Slowed down version of dismissing a menu with a visible light flash: https://www.youtube.com/shorts/MBCCkK-GfqY
Hi,
This can't be right. Is there really no replacement for Quartz Debug?!?
As the sole developer on a project who has an Intel Mac and Quartz Debug, I am basically a god now.
Everyone else has Apple Silicon and... I think they're randomly guessing at this point.
Because I have entire teams sending me Intel Mac builds of stuff just so I can test it in QD.
This is THE TOOL we used at NewTek to find performance issues, and THE TOOL I used for a dozen companies after that, to help them with similar issues.
If there's no replacement, is there a reason there's no replacement? This feels like a massive step backwards, having to guess at problems like this.
-Chilton
Hi guys,
Is there any good up-to-date tutorial about publishing a Python based app on Apple Store?
Now, I have developed a standalone Python app from PyCharm, and it's using Pyside6 for UI and some major Python libraries. It's a productivity app with a little A.I. features. I used PyInstaller to prepare the app. Currently, I am stuck at the stage of codesign and Apple Review process, because I am manually doing codesign and building the package from command-line. Without using Xcode, things can get messy or miss easily.
It would be nice to follow a up-to-date tutorial about how to complete the codesign and Apple Review process for a Python based app. For example, what to do, how to do, what to be careful during the Apple Review process, etc. Thanks!
After updating from iOS 18 to iOS 26, our app icon appears to have automatically received the new 'Liquid Glass' effect. We confirmed that this change occurred without us releasing a new app update.
My questions are:
Is this a system behavior where iOS 26 automatically applies the new icon style to existing apps?
If so, is it possible for a developer to control or customize this effect? I am also wondering if there are any methods other than using Icon Composer.
I'm having some trouble getting my widget to display how I want when the user has a tint applied to their home screen. The issue I'm having is with a Text() element, as well as a LinearGradient I am displaying on top of my image. The text should always be white, and the gradient is always black with varying levels of opacity.
I've managed to fix this issue with images displayed in my widget by leveraging
widgetAccentedRenderingMode(.fullColor)
however, there does not seem to be an equivalent of this for non-Image components. I'm aware of
.widgetAccentable(false)
but as I understand it, elements are already considered not accentable by default and you need to explicitly declare widgetAccentable(true) to add them to the accent group. I've tried specifying this to be false up and down my view hierarchy just to see if something will stick but no luck.
Are there any other levers I can pull to preserve the declared colors for my text and gradient components? The images I am displaying is album artwork where preserving the original image is integral, but the tinted text color and overlaid gradient often clash or just looks bad in general. Is there a solution for colored primitive elements?
So, I started with the developer beta on Tahoe a couple months ago. I gave the new Apps.app a fair shot.... I HATE it. Finally used a terminal work around to get Launchpad back up and running. Now with the release of the Public Beta and Developer Beta 5, Apple has nerfed the Launchpad.app altogether. Apple, listen to your customers. Yes some people really love spotlight but not everyone wants to scroll through a list of apps as long as my leg because, my PTSD brain won't let me remember the name of the app to type into spotlight. The Launchpad app had a great visual reference for those of us with poor memory function. Bring it back, and let your customers choose which one they want to use.
Context & Issue
I am developing an iOS application.
My app icon uses colors that are relatively close to each other.
When the user enables Accessibility → Display & Text Size → Color Filters → Grayscale (or similar modes), the icon becomes harder to distinguish because it loses color and contrast is reduced.
Goal
When iOS switches to grayscale mode, I want the app icon to maintain good contrast between its elements so it remains clearly recognizable.
What I’ve tried
Redesigned the icon with more contrasting colors.
Added strokes/outlines, but it still doesn’t look much better in grayscale.
Researched how iOS renders app icons when grayscale is enabled, but couldn’t find a way to override or provide an alternative icon.
Specific questions
Is there any API or mechanism in iOS that allows providing a different version of the app icon when the user has grayscale mode enabled?
If there’s no direct API, are there any best practices for designing iOS app icons to ensure good contrast when converted to grayscale?
Do we have to design grayscale version for app icon?
Thank you!
UIBarButtonItem setting isEnabled = false, but the item is still tappable and animating. Is this a new UI behavior or an issue?
Do the following steps:
On tapping on a UIBarButtonItem, disable by setting isEnabled = false and setting hidesSharedBackground = true
Enable the button by setting isEnabled = true and setting hidesSharedBackground = false
=> The button appears with bigger shared background
is this an issue?
please find the attachments for more details.
ViewController.swift.txt
On iOS 26 not able to control size of UITabBar. Sharing code below.
Colour is applying correctly but somehow _UITabBarPlatterView which turns out as TabBar is not extending; leaving spaces on left, right & bottom sides.
class CustomTabBar: UITabBar {
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .red
let firstItem = UITabBarItem(title: "Home", image: UIImage(systemName: "house"), tag: 0)
let secondItem = UITabBarItem(title: "Search", image: UIImage(systemName: "magnifyingglass"), tag: 1)
let thirdItem = UITabBarItem(title: "Profile", image: UIImage(systemName: "person.circle"), tag: 2)
items = [firstItem, secondItem, thirdItem]
selectedItem = firstItem
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class ViewController: UIViewController {
let tabBar: CustomTabBar = {
let tb = CustomTabBar()
tb.translatesAutoresizingMaskIntoConstraints = false
return tb
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .systemBackground
view.addSubview(tabBar)
NSLayoutConstraint.activate([
tabBar.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 25),
tabBar.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -25),
tabBar.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
])
}
}
when specifying height in CustomTabBar explicitly...
func alignInternalSubViews() {
subviews.forEach { subView in
subView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
subView.topAnchor.constraint(equalTo: topAnchor),
subView.leadingAnchor.constraint(equalTo: leadingAnchor),
subView.trailingAnchor.constraint(equalTo: trailingAnchor),
subView.bottomAnchor.constraint(equalTo: bottomAnchor),
subView.heightAnchor.constraint(equalToConstant: 62)
])
}
}
What should I need to do in order to get this capsule _UITabBarPlatterView and its subviews resize accordingly?
Hi all.
I have tried using UIDesignRequiresCompatibility YES & NO for an application.
Running on iOS 26 BETA 5 makes no difference to the UI.
Running on Simulator MacOSS 26 BETA 5 makes no difference to the UI.
Anyone had luck with this info plist setting?
Reference Feedback FB19152594
Occurs with my 3rd Party UIKit App called "Lifeorities".
Latest occurrence was 7/27/25 at 13:49 pm.
Launch app (actual device running iPadOS 26 or iPadOS 26 simulator)
Initial screen displays view content and floating tab bar at top of screen (both portrait orientation and landscape).
Floating tab bar items respond to liquid glass effect (but liquid glass appearance of the whole tab bar doesn't comply with new glass pill shaped tab bar area).
Selected tab bar item obeys selected app designated color (assets).
Unselected tab bar items are using black text which is unreadable on app background which used dark mode as default (as intended).
Selecting another tab bar item shows the liquid glass effect as you navigate to the new tab bar item and shows the app designated color (assets).
Previous tab bar item that was selected, now is unselected and shows black text.
NOTE: iOS tab bar items work fine (show white foreground color as desired for unselected tab bar items).
I've been experimenting with Liquid Glass quite a bit and watched all the WWDC videos. I'm trying to create a glassy segmented picker, like the one used in Camera:
however, it seems that no matter what I do there's no way to recreate a truly clear (passthrough) bubble that just warps the light underneath around the edges. Both Glass.regular and Glass.clear seem to add a blur that can not be evaded, which is counter to what clear ought to mean.
Here are my results:
I've used SwiftUI for my experiment but I went through the UIKit APIs and there doesn't seem to be anything that suggests full transparency.
Here is my test SwiftUI code:
struct GlassPicker: View {
@State private var selected: Int?
var body: some View {
ScrollView([.horizontal], showsIndicators: false) {
HStack(spacing: 0) {
ForEach(0..<20) { i in
Text("Row \(i)")
.id(i)
.padding()
}
}
.scrollTargetLayout()
}
.contentMargins(.horizontal, 161)
.scrollTargetBehavior(.viewAligned)
.scrollPosition(id: $selected, anchor: .center)
.background(.foreground.opacity(0.2))
.clipShape(.capsule)
.overlay {
DefaultGlassEffectShape()
.fill(.clear) // Removes a semi-transparent foreground fill
.frame(width: 110, height: 50)
.glassEffect(.clear)
}
}
}
Is there any way to achieve the above result or does Apple not trust us devs with more granular control over these liquid glass elements?