Discuss the latest Apple technologies announced at WWDC22.

Posts under WWDC22 tag

45 Posts
Sort by:
Post not yet marked as solved
0 Replies
112 Views
I have an app in the App Store called MaskerAid (App Store). The general gist of the app is that it lets you hide things in images using emoji. The emoji are SwiftUI Views that can be manipulated by the user. They can be resized, relocated, etc. When the user is ready to share their image, a screenshot is taken using an absolutely revolting pile of hacks I wrote to get UIKit to take a snapshot of the screen. I was super amped to see the new ImageRenderer API (docs), which would let me throw away my pile-o'-hacks and do things a more sane way. However, the ImageRenderer seems to be written around a static set of views that are non-interactive. Am I holding it wrong, or is this a missing part of the API surface for ImageRenderer? Is there any way to get it to display a View (and its sub-Views) as they exist on-screen? For what it's worth, this has been filed as FB10393458.
Posted
by
Post not yet marked as solved
0 Replies
112 Views
I want to apply a given CIFilter but instead of the effect showing up instantly, I want to animate it: e.g., a color image desaturating to grey scale over 2 seconds, a blocky image depixellating to a full-resolution image using an EaseInOut animation curve over 0.8 seconds. If you're using one of the built in SwiftUI view modifiers like .blur(), you're golden. Just append some .animate() and you're done. But given that you have to jump through hoops whether you go the UIImage, CGImage, CIImage route, or the MTLView, CIRenderDestination, ContentView example from the WWDC 2022 sample code, I'm a bit confused. Ideally I guess I'd just like to write View Modifiers for each effect I want to do, so that they're as usable as the SwiftUI built-in ones, but I don't know if that's possible. Does anyone have any ideas?
Posted
by
Post not yet marked as solved
1 Replies
120 Views
I am working on seeing if I can use the new MultiColumn navigation pattern and so far it seems like it really is only useful if you have very simple text based navigation. I have tried a couple different combinations but doesn't seem to be able to support this as it would mean having conflicting navigation links. If I am missing something to be able to accomplish this that would be helpful. @State var selectedNavigationCategory: NavigationCategory? let navigationCategories: [NavigationCategory] = [ NavigationCategory(id: UUID(), name: "One", sfSymbol: "circle", detailView: ViewOne()), NavigationCategory(id: UUID(), name: "Two", sfSymbol: "circle.fill", detailView: ViewTwo()) ] var body: some View { NavigationSplitView { List(navigationCategories, selection: $selectedNavigationCategory) { category in NavigationLink(value: category, label: { Label(category.name, systemImage: category.sfSymbol) }) } } detail: { //How to control the view that gets presented } Like I mentioned tried a couple things with no success, even returning a view as part of the Navigation Category (which you'll see I left in). Is this really not possible?
Posted
by