> On Jan 28, 2022, at 11:50 AM, Alex Zavatone <z...@mac.com> wrote: > > Awesome. Thank you, David. > > > I stumbled across this too while going through Apple documentation. What’s > scary is that I have no idea why it works. > > self.navigationController!.navigationBar.barStyle = .default > self.navigationController!.navigationBar.isTranslucent = false > self.navigationController!.navigationBar.titleTextAttributes = > [.foregroundColor: UIColor.white] > self.navigationController?.navigationBar.backgroundImage(for: .default) > navigationController?.navigationBar.setBackgroundImage(UIImage(), > for: .default)
This stuff is pre-iOS 13 appearance customization. Using the new stuff will disable it. > > let navBar = self.navigationController!.navigationBar > let standardAppearance = UINavigationBarAppearance() > standardAppearance.configureWithOpaqueBackground() > standardAppearance.backgroundImage = UIImage() > > navBar.standardAppearance = standardAppearance > navBar.scrollEdgeAppearance = standardAppearance With iOS 13 the navigation bar now has multiple appearance states. The scrollEdgeAppearance is when your bar is at the edge of a scroll view (top for a navigation bar, bottom for tab & toolbar). This configures the bar to use the same appearance state (in this case, a solid color background, using UIColor.systemBackgroundColor). In context the setting of backgroundImage doesn’t do anything (it defaults to nil and empty images have identical behavior). By setting standardAppearance == scrollEdgeAppearance it in turn disables the “bar becomes transparent at the top” behavior introduced for large titles in iOS 13 and extended to all bar in iOS 15. > > > Thanks again David. You’re on my Christmas list. > > Alex Zavatone > >> On Jan 28, 2022, at 1:30 PM, David Duncan <david.dun...@apple.com >> <mailto:david.dun...@apple.com>> wrote: >> >> UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; >> [appearance configureWithTransparentBackground]; >> navigationItem.standardAppearance = appearance; >> >> Thats the simplest per-item way to do it. This does imply you adopt the new >> appearance APIs introduced in iOS 13. >> >>> On Jan 28, 2022, at 11:03 AM, Alex Zavatone via Cocoa-dev >>> <cocoa-dev@lists.apple.com <mailto:cocoa-dev@lists.apple.com>> wrote: >>> >>> Hi there. I’m in the middle of trying to find out how the hell to remove a >>> background from a UINavigationBar and it’s not easy. You’d think that you >>> could get a UInavigationBar.navigationitem.background and remove it from a >>> superview or set its alpha to 0, but it’s not that easy. >>> >>> Does anyone have any clue how to get a reference to the background once it >>> has been set so that it can be set to 0 alpha or removed from the >>> superview? >>> >>> Thanks in advance and happy Friday. Apple sure has ways to make things >>> that should be simple very obscure and extremely deifficult to handle. >>> >>> Cheers, >>> Alex Zavatone >>> _______________________________________________ >>> >>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com >>> <mailto:Cocoa-dev@lists.apple.com>) >>> >>> Please do not post admin requests or moderator comments to the list. >>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >>> <http://lists.apple.com/> >>> >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/cocoa-dev/david.duncan%40apple.com >>> <https://lists.apple.com/mailman/options/cocoa-dev/david.duncan%40apple.com> >>> >>> This email sent to david.dun...@apple.com >> > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com