Sign in

NON-TOXICNo ads · No shady algorithms

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Léo Natan :batman:

@LeoNatan.mastodon.social.ap.brid.gy
0 followers 0 following 39 posts

macOS & iOS engineer • grumpy middle-aged man, yelling at clouds • disillusioned, burned-out cynic • not politically correct • twitter.com/LeoNatan • […] 🌉 bridged from ⁂ mastodon.social/@LeoNatan, follow @ap.brid.gy to interact

PostsRepliesMedia
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 19/09/2026
LNPopupController 4.5.12 release brings initial iPhone Duo support github.com/LeoNatan/LNPopupControll… For LNPopupUI, just update your LNPopupController dependency.
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 18/09/2026
Apple writing example code in Objective C, in 2026. They are REALLY desperate for developers to support this device.
011 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 17/08/2026
@stroughtonsmith Liquid Aqua
001 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 30/06/2026
Apple has drastically scaled scroll pockets in iOS 27, but now the container view for a tab view is much shorter, creating a jarring cut off background glass whenever the prominent tab is stretched even slightly. Attention to detail in California.
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 26/06/2026
Clicking Cmd+T, what used to be the shortcut to toggle slow animations, now creates a new tab, but the fruity clowns forgot their window is still in the minimized state.
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 26/06/2026
Since it's most likely a vibe coded SwiftUI abomination, Apple engineering has neglected to pay attention to details, like the minimized window still allowing show of the standard AppKit tab bar, thus destroying the title bar.
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 22/06/2026
“Don’t Miss 3 Free Months”, but clicking on their ads shows anything but. This is the state of this retarded company.
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 08/06/2026
You can customize the Xcode 27 toolbar.
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 31/01/2026
They want to charge subscription money for crap, but can’t even fix transitions. Designed and implemented by incompetents in California.
001 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 21/10/2025
LNPopupController now supports pop item paging from the popup bar, like the Apple mini player in iOS 26.1! github.com/LeoNatan/LNPopupControll…
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 13/10/2025
So to enable and disable the effect, in my case, I need to track which header is pinned to the top, and call _setActive: on the interactions of the header views to only enable for the top one. I extended UICollectionViewLayoutAttributes with a fields for this. And it works.
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 13/10/2025
If you create an _UIScrollPocketContainerInteraction instance and add it to the view, it actually works. But it creates an amusing effect where all glass effects are synchronized.
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 13/10/2025
Turns out there is a host of new, private, "interactions", one of which is _UIScrollPocketContainerInteraction, which manages the view's trait environment so that is adjusts child visual effects (using another "interaction"). What if you wanted the same behavior in your code?
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 13/10/2025
View hierarchy inspector doesn't reveal much. The two hierarchies are the same, but notice the header view is positioned under the scroll pocket in the custom layout "for some reason".
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 13/10/2025
An Apple UICollectionViewLayout subclass vs a custom one. Notice the header visual effect view's glass is "synchronized" with the navigation bar, making them switch appearance together. No way there is a UIGlassContainerEffect in there somewhere.
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 27/09/2025
This is a custom reimplementation of UITabAccessory for my LNPopupController framework. It has the advantage of allowing any "accessory" size, rather than the 48pt/40pt size limitation of UITabAccessory, as well as all the benefits of the framework itself […] [Original post on mastodon.social]
010 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 26/09/2025
The check for _isPhotosApp is just as retarded as you might expect; there is a hard-coded string of the Photos app bundle identifier in UIKitCore, and it's checked against the main bundle identifier of the running app. BTW, you can Swizzle that function to […] [Original post on mastodon.social]
000 0
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 26/09/2025
Turns out, there are UITabBar._isMinimized, UITabBar._setMinimized: and UITabBar._setMinimizedStateDidChangeHandler:, which provide this valuable information. But if you call one of these methods, your app will crash. Notice the check for _isPhotosApp, or else raise an exception.
200 2
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 26/09/2025
Photos on iOS 26 does not use the public bottomAccessory/UITabAccessory API, yet is able to detect when the tab bar minimizes and make that bar fade in and out. Inspecting the hierarchy shows it's just a UIView subclass. So how does it know when the tab bar minimizes?
100 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 21/05/2025
So all that ChatGPT wisdom, and yet, "open to work"? 🤔🤣 When did LinkedIn get filled with these clickbait nonsense posts, including generic chatbot farm responses? It's a cesspool.
The clown is unemployed and "open to work".ChatGPT wisdom: "ChatGPT Can Get You Hired Faster Than Any Recruiter. Copy these seven prompts to land your dream job."Generic chatbot farm responses with zero context.
010 1
Léo Natan :batman: @leonatan.mastodon.social.ap.brid.gy · 29/11/2024
@nicklockwood Completely clean from any RN schisms for sure. 🤣 So polished. I mean, it can't 120hz because they forgot (or are totally clueless, as most webdevs are) to put CADisableMinimumFrameDurationOnPhone=true in the Info.plist and are using a "native" […] [Original post on mastodon.social]
000 0