Create elegant and intuitive apps that integrate seamlessly with Apple platforms.

All subtopics
Posts under Design topic

Post

Replies

Boosts

Views

Activity

AreaMark Always alignsMarkStylesWithPlotArea for linear gradients
I'm trying to make a Swift Chart where 24 AreaMarks an hour apart on X axis over a day display a vertical gradient. The gradient is vertical and is essentially [Color.opacity(0.1),Colour,Color.opacity(0.1] The idea here is where the upper and lower points of each AreaMark are the same or close to each other in the Y axis, the chart essentially displays a line, where they are far apart you get a nice fading vertical gradient. However, it seems that the .alignsMarkStylesWithPlotArea modifier is always set for AreaMarks even if manually applying it false. Investigating further, I've learnt that with AreaMarks in a series, Swift Charts seems to only listen to the first foreground style set in. I've created some sample code to demonstrate this. struct DemoChartView: View { var body: some View { Chart { AreaMark(x: .value("Time", Date().addingTimeInterval(0)), yStart: .value("1", 40), yEnd: .value("2", 60)) .foregroundStyle(LinearGradient(colors: [.pink, .teal], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) AreaMark(x: .value("Time", Date().addingTimeInterval(3600)), yStart: .value("1", 44), yEnd: .value("2", 58)) .foregroundStyle(LinearGradient(colors: [.orange, .yellow], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) AreaMark(x: .value("Time", Date().addingTimeInterval(03600*2)), yStart: .value("1", 50), yEnd: .value("2", 90)) .foregroundStyle(LinearGradient(colors: [.green, .blue], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) } } } Which produces this: So here, all the different .foregroundStyle LinearGradients are being ignored AND the .alignsMarkStylesWithPlotArea(false) is also ignored - the amount of pink on the first mark is different to the second and third 🤷‍♂️ Has anyone encountered this. Are AreaMarks the correct choice or are they just not setup to create this type of data display. Thanks
3
0
868
Jun ’25
Design-Copycats Rejection
Hi, Since last week, I’ve been trying to publish the new version of my Voxel game, which aims to fix many bugs and significantly optimize the game. This update is very important for improving the overall quality of the game. Unfortunately, this version is not being accepted on the App Store due to a Design - Copycats issue related to guideline 4.1. I’ve tried everything to resolve the problem by changing the screenshots, app preview, description, game name, icons, and even all metadata that could cause issues in the build. But nothing seems to work. I keep receiving the same rejection just a few minutes after submitting my build for review. Here is the full warning message: —————— “Guideline 4.1 - Design - Copycats This app or its metadata appears to be misrepresenting itself as another popular app or game already available on the App Store, from a developer's website or distribution source, or from a third-party platform. Apps should be unique and should not attempt to deceive users into thinking they are downloading something they are not.” Next Steps Learn more about requirements to prevent apps from impersonating other apps or services in guideline 4.1. Revise the app to comply with these requirements. Once the app is fully compliant, resubmit the app for review. —————— Also I've already tried contaction the Apple Developer team but I got no answer. I don't know what to do. Thanks
2
0
550
Oct ’25
4.3(a) - Design
Hello, Appeal Ticket: APL149985 Thank you for your patience as we considered your appeal. The App Review Board determined that the original rejection feedback was valid. Your app does not comply with: 4.3(a) - Design During our review, we found that this app duplicates the content and functionality of other apps submitted to the App Store, which is considered a form of spam and not appropriate for the App Store. Apps submitted to the App Store should be unique and should not duplicate other apps. We encourage you to create a unique app to submit to the App Store. For more information about developing apps for the App Store, visit the Develop section of the Apple Developer website. We appreciate your efforts to resolve this issue and look forward to reviewing your revised submission. Best regards, Leo App Review Board BlockQuote a Blockchain based slg game got 4.3 a, I think the reviewer should know some thing about blockchain. 您好,我已经重新提交了一个版本的应用,和之前版本已经不同了,目前游戏的所有代码都是我自己写的,第三方的所有代码都被我移除了,所以代码上重复了其他游戏的是完全不存在的。 至于游戏玩法上,新的自定义技能冲榜系统,玩家可以通过“抽卡-编辑阵容-连续挑战”的方式,在遇到瓶颈时自定义技能突破关卡,这个玩法绝对是开创性的,因为已知的所有slg游戏的技能都是官方设计决定的,但是在我设计的这个玩法上,理论上所有的技能都将由玩家设计出来,这差别之大,正如区块链开创了一种崭新的去中心化的时代,和原有中心化的模式是完全不同的,据我所知,目前市面上不存在任何一款去中心化的slg游戏。但是您,尊贵的审核人员居然认为这样一款开创性的游戏是和其他中心化游戏是一样的,类同的,我相信苹果作为全球最伟大的科技公司,官方工作人员都是很专业的,都是很有见识的,都是主张创新的,主张玩家能获得独特的高质量的体验,但是这个拒绝让我疑惑。
1
0
290
Apr ’25
Game Rejected as Spam
My app is being rejected and all I'm being told is that it is spam. I've tried improving various aspects of the game, but I just receive the same copy and paste rejection message each time. I have no idea if I'm moving in the right direction or what part of my game needs to be changed or improved. Is there a game quality benchmark document or some kind of resource I can use to better understand why my game is being rejected and how to bring it to a level that meets apple's standards.
1
0
119
Apr ’25
iPad/iPhone - Display best practices….
So…I am hitting a wall here and could use some guidance towards best practice. I’ve developed an app in Xcode/SwiftUI that renders just fine on the iPhone - text, images, buttons, frames…everything is nicely centered on the screen or scrolls where and when I want. The iPad though…not so much. I’m having issues with tops and bottoms being cut off in scrollviews. These are just straight up text screens too - the ones with other elements/controls…they’re rendering fine. I’ve tried a mix of geometry, vstack, scrollview, padding, spacers…the lot of it. Nothing I seem to do works - the views do not want to fill and fit properly. And, of course, the issue becomes worse the moment you flip the iPad into landscape view. Or use the 13” models. I’d imagine others are battling these issues as well and found solutions, so I decided to hit up the brain trust.
3
0
226
Apr ’25
Cannot configure contentShape for final preview of .contextMenu(menuItems: , preview: )
Without using a custom preview, you can set .contentShape(RoundedRectangle(cornerRadius: 30)) so that in the "zoomed in" preview of the contextMenu you can have a custom cornerRadius. However, this does not work if you create a custom preview, because then the ContentShape gets applied only to the LIFT PREVIEW, and not to the FINAL PREVIEW state. Heres a sample code - I'd love some support! :) import SwiftUI struct ContentView: View { var body: some View { VStack { Rectangle() .fill(Color.blue) .frame(width: 300, height: 300) .cornerRadius(30) .contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30)) .contextMenu { Button("Hello") {} Button("Goofy") {} } preview: { Rectangle() .fill(Color.blue) .frame(width: 300, height: 300) .cornerRadius(30) //.contentShape(RoundedRectangle(cornerRadius: 30)) //.contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30)) } Text("contextMenu item with large cornerRadius is not working as expected... No way to set contentShape to custom corner radius for final preview - not the lift preview") } } }
1
0
110
May ’25
Reset SwiftUI animation for another step.
I was trying to move from appkit to swiftUI. As a learning project I am building a cellular automata style project based on Pattersons Worms.. I am trying something similar to the EA game Worms? for the Commodore 64. There is a video on YouTube of the game running, but I'm not allowed to link it here. The problem I have is that the animation is driven by a ruleset. When the automata hits a configuration that is not in the ruleset it is supposed to stop and ask the user. For each step the model returns either the next move, or nil to indicate the user need to make a choice that will be sent back to the model to be added to the ruleset. My current approach, and I might be following the wrong path, is a ZStack where the bottom level is the grid, the middle level is the established worm segments and the top level is either the animation of the next worm segment or the user chooser to choose the segment. I've only implemented the animation of the next worm segment. The idea is that when the model adds a segment that it first animated at the top level and then displayed by the middle level. Then the top level animates the next segment. I was animating the trim on the segment to draw the line. If the current move is nil, then the middle level draws the segment. If current move has a value, the animation draw it, and then on completion sets the current move to nil so that the bottom level draw it. The problem I ran into was resetting the animation to draw the next segment. I've tried two approaches. in one the completion resets the animation boolean variable, but I need a manual step to set the next stage of the animation. The other uses the completion to set the next step, but it the animation doesn't run for the step and the display is an always a step behind. I'm not sure how to both update the move and reset the animation at the same time. I have uploaded a simplified version without the full grid and simplified model to GitHub (https://github.com/thomasrdean/AnimationTest). Is there any other way to reset the animation the than the completion so I can use the completion to retrieve the next step from the model?
1
0
134
May ’25
[Proposal] Sense & Store – Intelligent App Suggestions from Safari (with On-Device AI)
Hello everyone, I’d like to propose Sense & Store — a seamless integration between Safari and the App Store, powered by on-device AI, designed to understand what users are reading, searching, or selecting in Safari, and suggest relevant apps that match their current context or intention. 🔍 Key Idea: “Sense” the user’s need through intelligent analysis of web content, then “Store” — offer the most relevant app, either already installed or available in the App Store. 🌟 Core Features: • AI-powered context detection directly inside Safari • Real-time app suggestions based on user intent • Smart overlays when selecting text or data (e.g., phone numbers, emails, tools) • Privacy-first: All AI runs on-device (Apple Neural Engine) • Instant App Launch or Installation via StoreKit ✅ Examples: • Reading an article on productivity? → Suggests Notion or Things. • Looking up meditation tips? → Recommends Calm or Headspace. • Selecting a phone number? → Offers CRM or spam blocker apps. • Exploring code samples? → Suggests Pythonista or developer tools. 🔒 Privacy & Performance: • 100% on-device intelligence (no data sent to servers) • Follows Apple’s privacy framework • Works with SafariKit + StoreKit + CoreML ⸻ I’m happy to provide a full prototype roadmap and technical architecture. Feedback and collaboration are welcome! Would love to hear your thoughts — especially from developers who build for Safari, App Clips, or work with CoreML. Thanks! by: Apple lover....
1
0
114
Jun ’25
iOS26 WWDC25 large inline navigation?
How to achieve the same navigation bar style as in the Design foundations from idea to interface - WWDC25 video? Screenshot: https://imgur.com/a/huzsm1H There's no new navigationBarTitleDisplayMode that has action buttons aligned with the title.
1
0
183
Jun ’25
Using .glassEffect in Charts
Hi, I was wondering if it's possible (and advisable) to use the new glass effects available in iOS 26 in Swift Charts? For example, in a chart like the one in the image I've attached to this post, I was looking to try adding a .glassEffect modifier to the BarMarks to see how that would look and feel. However, it seems it's not available directly on the BarMark (ChartContent) type, and I'm having trouble adding it in other ways too, such as using in on the types I supply to modifiers like foregroundStyle or clipShape. Am I missing anything? Maybe it's just not advisable or necessary to use glass effects within Charts?
5
0
350
Aug ’25
Can't display image in SwiftUI
I'm trying to display my apps icon within my app and it's not working. It displays a blank space instead and I don't understand why this is happening. I tried creating a new image (just a normal image, not an 'App Icon' image set) and have this code: Image("AppIcon") .resizable() .aspectRatio(contentMode: .fit) .frame(width: 48) .cornerRadius(10) .overlay( RoundedRectangle(cornerRadius: 10) .stroke(Color.black.opacity(0.1), lineWidth: 1) ) For some strange reason it's not displaying that either. The image name is correct. It's showing a blank white box.
2
0
201
Jun ’25
Window Control Placement Notification in iPadOS 26
I’m seeing that in the windowed-apps multitasking mode, the new window controls (the three “traffic-light” icons) can overlap the top-left corner of my app’s main view. Detection: How can I programmatically determine whether these window controls will be displayed? Geometry: If they are displayed, how can I find out their exact position and size? I’d like to adjust my layout at runtime to ensure no content is hidden beneath those controls. For reference, my main view does not include a status bar or navigation bar at the top.
Topic: UI Frameworks SubTopic: UIKit Tags:
3
0
221
Jun ’25
Set edge effect style in AppKit
In macOS 26 beta 2 it is possible to set an edge effect style via UIKit using the .scrollEdgeEffectStyle property. (note: I haven't tested this, I'm just looking at the documentation). See: https://developer.apple.com/documentation/swiftui/view/scrolledgeeffectstyle(_:for:) Is there an equivalent API for AppKit-based apps? I can't seem to find any additions in NSView or NSScrollView or elsewhere that seem relevant. Scroll edge effects are mentioned in the "Build an AppKit app with the new design" talk here, which heavily implies it must be possible from AppKit: https://developer.apple.com/videos/play/wwdc2025/310/?time=567
7
0
377
Jul ’25
Using @Environment for a router implementation...
Been messing with this for a while... And cannot figure things out... Have a basic router implemented... import Foundation import SwiftUI enum Route: Hashable { case profile(userID: String) case settings case someList case detail(id: String) } @Observable class Router { var path = NavigationPath() private var destinations: [Route] = [] var currentDestination: Route? { destinations.last } var navigationHistory: [Route] { destinations } func navigate(to destination: Route) { destinations.append(destination) path.append(destination) } } And have gotten this to work with very basic views as below... import SwiftUI struct ContentView: View { @State private var router = Router() var body: some View { NavigationStack(path: $router.path) { VStack { Button("Go to Profile") { router.navigate(to: .profile(userID: "user123")) } Button("Go to Settings") { router.navigate(to: .settings) } Button("Go to Listings") { router.navigate(to: .someList) } .navigationDestination(for: Route.self) { destination in destinationView(for: destination) } } } .environment(router) } @ViewBuilder private func destinationView(for destination: Route) -> some View { switch destination { case .profile(let userID): ProfileView(userID: userID) case .settings: SettingsView() case .someList: SomeListofItemsView() case .detail(id: let id): ItemDetailView(id: id) } } } #Preview { ContentView() } I then have other views named ProfileView, SettingsView, SomeListofItemsView, and ItemDetailView.... Navigation works AWESOME from ContentView. Expanding this to SomeListofItemsView works as well... Allowing navigation to ItemDetailView, with one problem... I cannot figure out how to inject the Canvas with a router instance from the environment, so it will preview properly... (No idea if I said this correctly, but hopefully you know what I mean) import SwiftUI struct SomeListofItemsView: View { @Environment(Router.self) private var router var body: some View { VStack { Text("Some List of Items View") Button("Go to Item Details") { router.navigate(to: .detail(id: "Test Item from List")) } } } } //#Preview { // SomeListofItemsView() //} As you can see, the Preview is commented out. I know I need some sort of ".environment" added somewhere, but am hitting a wall on figuring out exactly how to do this. Everything works great starting from contentview (with the canvas)... previewing every screen you navigate to and such, but you cannot preview the List view directly. I am using this in a few other programs, but just getting frustrated not having the Canvas available to me to fine tune things... Especially when using navigation on almost all views... Any help would be appreciated.
2
0
300
Jul ’25
Apple Music iOS 26 features in Android
Since many users like me use Apple Music on Android, the app is almost as feature-rich as iOS. It would be fantastic if the developers could add the new iOS 26 features to the Android app, along with a minor UI change. I know it’s challenging to implement liquid glass on Android hardware or design, but features like auto-mix, pronunciation, and translation could be added. kindly consider this request !!!!
1
0
220
Jul ’25
Liquid glass: UIPageViewController inside UITabbarController adding blur effect always in iOS26
When using UIPageViewController inside a UITabBarController on iOS 26 with Liquid Glass adoption, visiting the PageViewController tab applies a blur effect to the navigation bar and tab bar even though the current child view controller of the pageView is not scrollable and does not reach behind these bars. Questions: Is this the expected behavior that the pageview's internal scroll view causes the bars to blur regardless of the page view's child content’s scrollability? If so, is there an official way to make the blur effect appear only when the pageview's current child view controller actually scrolls behind the navigation bar or tab bar, and not in static cases? Tried the same in SwiftUI using TabView and TabView with page style. Facing the same issue there as well. Sample screenshots for reference, Sample SwiftUI code, struct TabContentView: View { var body: some View { TabView { // First Tab: Paging View PagingView() .tabItem { Label("Pages", systemImage: "square.fill.on.square.fill") } // Second Tab: Normal View NavigationStack { ListView() } .tabItem { Label("Second", systemImage: "star.fill") } // Third Tab: Normal View PageView(color: .blue, text: "Page 3") .tabItem { Label("Third", systemImage: "gearshape.fill") } } .ignoresSafeArea() } } struct PagingView: View { var body: some View { TabView { PageView(color: .red, text: "Page 1") PageView(color: .green, text: "Page 2") PageView(color: .blue, text: "Page 3") } .tabViewStyle(.page) // Enables swipe paging .indexViewStyle(.page(backgroundDisplayMode: .always)) .ignoresSafeArea()// Dots indicator } }
1
0
250
Jul ’25
iOS 26 Floating Search Tab in UIKit
Does anyone have any documentation for how to achieve the floating search tab item in UIKit apps that use UITabBarController? The Liquid Glass UIKit video had code for minimizing the tab bar on scroll down, but I didn't see anything on keeping the search button locked to the bottom trailing edge (as in this screenshot below).
4
0
340
Jul ’25
AreaMark Always alignsMarkStylesWithPlotArea for linear gradients
I'm trying to make a Swift Chart where 24 AreaMarks an hour apart on X axis over a day display a vertical gradient. The gradient is vertical and is essentially [Color.opacity(0.1),Colour,Color.opacity(0.1] The idea here is where the upper and lower points of each AreaMark are the same or close to each other in the Y axis, the chart essentially displays a line, where they are far apart you get a nice fading vertical gradient. However, it seems that the .alignsMarkStylesWithPlotArea modifier is always set for AreaMarks even if manually applying it false. Investigating further, I've learnt that with AreaMarks in a series, Swift Charts seems to only listen to the first foreground style set in. I've created some sample code to demonstrate this. struct DemoChartView: View { var body: some View { Chart { AreaMark(x: .value("Time", Date().addingTimeInterval(0)), yStart: .value("1", 40), yEnd: .value("2", 60)) .foregroundStyle(LinearGradient(colors: [.pink, .teal], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) AreaMark(x: .value("Time", Date().addingTimeInterval(3600)), yStart: .value("1", 44), yEnd: .value("2", 58)) .foregroundStyle(LinearGradient(colors: [.orange, .yellow], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) AreaMark(x: .value("Time", Date().addingTimeInterval(03600*2)), yStart: .value("1", 50), yEnd: .value("2", 90)) .foregroundStyle(LinearGradient(colors: [.green, .blue], startPoint: .top, endPoint: .bottom)) .alignsMarkStylesWithPlotArea(false) } } } Which produces this: So here, all the different .foregroundStyle LinearGradients are being ignored AND the .alignsMarkStylesWithPlotArea(false) is also ignored - the amount of pink on the first mark is different to the second and third 🤷‍♂️ Has anyone encountered this. Are AreaMarks the correct choice or are they just not setup to create this type of data display. Thanks
Replies
3
Boosts
0
Views
868
Activity
Jun ’25
Design-Copycats Rejection
Hi, Since last week, I’ve been trying to publish the new version of my Voxel game, which aims to fix many bugs and significantly optimize the game. This update is very important for improving the overall quality of the game. Unfortunately, this version is not being accepted on the App Store due to a Design - Copycats issue related to guideline 4.1. I’ve tried everything to resolve the problem by changing the screenshots, app preview, description, game name, icons, and even all metadata that could cause issues in the build. But nothing seems to work. I keep receiving the same rejection just a few minutes after submitting my build for review. Here is the full warning message: —————— “Guideline 4.1 - Design - Copycats This app or its metadata appears to be misrepresenting itself as another popular app or game already available on the App Store, from a developer's website or distribution source, or from a third-party platform. Apps should be unique and should not attempt to deceive users into thinking they are downloading something they are not.” Next Steps Learn more about requirements to prevent apps from impersonating other apps or services in guideline 4.1. Revise the app to comply with these requirements. Once the app is fully compliant, resubmit the app for review. —————— Also I've already tried contaction the Apple Developer team but I got no answer. I don't know what to do. Thanks
Replies
2
Boosts
0
Views
550
Activity
Oct ’25
Myanmar Language font changed after iOS 18.4
I am developing iOS App using SwiftUI and I notice that Myanmar font of number text on 18.4 have clipped on top and bottom. Does anyone have this issues and know the fix? I have provided the Screenshot also.
Replies
6
Boosts
0
Views
255
Activity
Apr ’25
4.3(a) - Design
Hello, Appeal Ticket: APL149985 Thank you for your patience as we considered your appeal. The App Review Board determined that the original rejection feedback was valid. Your app does not comply with: 4.3(a) - Design During our review, we found that this app duplicates the content and functionality of other apps submitted to the App Store, which is considered a form of spam and not appropriate for the App Store. Apps submitted to the App Store should be unique and should not duplicate other apps. We encourage you to create a unique app to submit to the App Store. For more information about developing apps for the App Store, visit the Develop section of the Apple Developer website. We appreciate your efforts to resolve this issue and look forward to reviewing your revised submission. Best regards, Leo App Review Board BlockQuote a Blockchain based slg game got 4.3 a, I think the reviewer should know some thing about blockchain. 您好,我已经重新提交了一个版本的应用,和之前版本已经不同了,目前游戏的所有代码都是我自己写的,第三方的所有代码都被我移除了,所以代码上重复了其他游戏的是完全不存在的。 至于游戏玩法上,新的自定义技能冲榜系统,玩家可以通过“抽卡-编辑阵容-连续挑战”的方式,在遇到瓶颈时自定义技能突破关卡,这个玩法绝对是开创性的,因为已知的所有slg游戏的技能都是官方设计决定的,但是在我设计的这个玩法上,理论上所有的技能都将由玩家设计出来,这差别之大,正如区块链开创了一种崭新的去中心化的时代,和原有中心化的模式是完全不同的,据我所知,目前市面上不存在任何一款去中心化的slg游戏。但是您,尊贵的审核人员居然认为这样一款开创性的游戏是和其他中心化游戏是一样的,类同的,我相信苹果作为全球最伟大的科技公司,官方工作人员都是很专业的,都是很有见识的,都是主张创新的,主张玩家能获得独特的高质量的体验,但是这个拒绝让我疑惑。
Replies
1
Boosts
0
Views
290
Activity
Apr ’25
Point out a translation problem in the Apple Human Interface Guide (Simplified Chinese)
辅助功能 | Apple Developer Documentation In the illustration on this page related to "Prefer system-defined colors," Light is incorrectly translated as "细体". However, in the context of this article, translating it as "浅色" (light color) would be a more appropriate choice.
Replies
1
Boosts
0
Views
83
Activity
Apr ’25
Game Rejected as Spam
My app is being rejected and all I'm being told is that it is spam. I've tried improving various aspects of the game, but I just receive the same copy and paste rejection message each time. I have no idea if I'm moving in the right direction or what part of my game needs to be changed or improved. Is there a game quality benchmark document or some kind of resource I can use to better understand why my game is being rejected and how to bring it to a level that meets apple's standards.
Replies
1
Boosts
0
Views
119
Activity
Apr ’25
iPad/iPhone - Display best practices….
So…I am hitting a wall here and could use some guidance towards best practice. I’ve developed an app in Xcode/SwiftUI that renders just fine on the iPhone - text, images, buttons, frames…everything is nicely centered on the screen or scrolls where and when I want. The iPad though…not so much. I’m having issues with tops and bottoms being cut off in scrollviews. These are just straight up text screens too - the ones with other elements/controls…they’re rendering fine. I’ve tried a mix of geometry, vstack, scrollview, padding, spacers…the lot of it. Nothing I seem to do works - the views do not want to fill and fit properly. And, of course, the issue becomes worse the moment you flip the iPad into landscape view. Or use the 13” models. I’d imagine others are battling these issues as well and found solutions, so I decided to hit up the brain trust.
Replies
3
Boosts
0
Views
226
Activity
Apr ’25
Cannot configure contentShape for final preview of .contextMenu(menuItems: , preview: )
Without using a custom preview, you can set .contentShape(RoundedRectangle(cornerRadius: 30)) so that in the "zoomed in" preview of the contextMenu you can have a custom cornerRadius. However, this does not work if you create a custom preview, because then the ContentShape gets applied only to the LIFT PREVIEW, and not to the FINAL PREVIEW state. Heres a sample code - I'd love some support! :) import SwiftUI struct ContentView: View { var body: some View { VStack { Rectangle() .fill(Color.blue) .frame(width: 300, height: 300) .cornerRadius(30) .contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30)) .contextMenu { Button("Hello") {} Button("Goofy") {} } preview: { Rectangle() .fill(Color.blue) .frame(width: 300, height: 300) .cornerRadius(30) //.contentShape(RoundedRectangle(cornerRadius: 30)) //.contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30)) } Text("contextMenu item with large cornerRadius is not working as expected... No way to set contentShape to custom corner radius for final preview - not the lift preview") } } }
Replies
1
Boosts
0
Views
110
Activity
May ’25
Reset SwiftUI animation for another step.
I was trying to move from appkit to swiftUI. As a learning project I am building a cellular automata style project based on Pattersons Worms.. I am trying something similar to the EA game Worms? for the Commodore 64. There is a video on YouTube of the game running, but I'm not allowed to link it here. The problem I have is that the animation is driven by a ruleset. When the automata hits a configuration that is not in the ruleset it is supposed to stop and ask the user. For each step the model returns either the next move, or nil to indicate the user need to make a choice that will be sent back to the model to be added to the ruleset. My current approach, and I might be following the wrong path, is a ZStack where the bottom level is the grid, the middle level is the established worm segments and the top level is either the animation of the next worm segment or the user chooser to choose the segment. I've only implemented the animation of the next worm segment. The idea is that when the model adds a segment that it first animated at the top level and then displayed by the middle level. Then the top level animates the next segment. I was animating the trim on the segment to draw the line. If the current move is nil, then the middle level draws the segment. If current move has a value, the animation draw it, and then on completion sets the current move to nil so that the bottom level draw it. The problem I ran into was resetting the animation to draw the next segment. I've tried two approaches. in one the completion resets the animation boolean variable, but I need a manual step to set the next stage of the animation. The other uses the completion to set the next step, but it the animation doesn't run for the step and the display is an always a step behind. I'm not sure how to both update the move and reset the animation at the same time. I have uploaded a simplified version without the full grid and simplified model to GitHub (https://github.com/thomasrdean/AnimationTest). Is there any other way to reset the animation the than the completion so I can use the completion to retrieve the next step from the model?
Replies
1
Boosts
0
Views
134
Activity
May ’25
[Proposal] Sense & Store – Intelligent App Suggestions from Safari (with On-Device AI)
Hello everyone, I’d like to propose Sense & Store — a seamless integration between Safari and the App Store, powered by on-device AI, designed to understand what users are reading, searching, or selecting in Safari, and suggest relevant apps that match their current context or intention. 🔍 Key Idea: “Sense” the user’s need through intelligent analysis of web content, then “Store” — offer the most relevant app, either already installed or available in the App Store. 🌟 Core Features: • AI-powered context detection directly inside Safari • Real-time app suggestions based on user intent • Smart overlays when selecting text or data (e.g., phone numbers, emails, tools) • Privacy-first: All AI runs on-device (Apple Neural Engine) • Instant App Launch or Installation via StoreKit ✅ Examples: • Reading an article on productivity? → Suggests Notion or Things. • Looking up meditation tips? → Recommends Calm or Headspace. • Selecting a phone number? → Offers CRM or spam blocker apps. • Exploring code samples? → Suggests Pythonista or developer tools. 🔒 Privacy & Performance: • 100% on-device intelligence (no data sent to servers) • Follows Apple’s privacy framework • Works with SafariKit + StoreKit + CoreML ⸻ I’m happy to provide a full prototype roadmap and technical architecture. Feedback and collaboration are welcome! Would love to hear your thoughts — especially from developers who build for Safari, App Clips, or work with CoreML. Thanks! by: Apple lover....
Replies
1
Boosts
0
Views
114
Activity
Jun ’25
iOS26 WWDC25 large inline navigation?
How to achieve the same navigation bar style as in the Design foundations from idea to interface - WWDC25 video? Screenshot: https://imgur.com/a/huzsm1H There's no new navigationBarTitleDisplayMode that has action buttons aligned with the title.
Replies
1
Boosts
0
Views
183
Activity
Jun ’25
Using .glassEffect in Charts
Hi, I was wondering if it's possible (and advisable) to use the new glass effects available in iOS 26 in Swift Charts? For example, in a chart like the one in the image I've attached to this post, I was looking to try adding a .glassEffect modifier to the BarMarks to see how that would look and feel. However, it seems it's not available directly on the BarMark (ChartContent) type, and I'm having trouble adding it in other ways too, such as using in on the types I supply to modifiers like foregroundStyle or clipShape. Am I missing anything? Maybe it's just not advisable or necessary to use glass effects within Charts?
Replies
5
Boosts
0
Views
350
Activity
Aug ’25
Can't display image in SwiftUI
I'm trying to display my apps icon within my app and it's not working. It displays a blank space instead and I don't understand why this is happening. I tried creating a new image (just a normal image, not an 'App Icon' image set) and have this code: Image("AppIcon") .resizable() .aspectRatio(contentMode: .fit) .frame(width: 48) .cornerRadius(10) .overlay( RoundedRectangle(cornerRadius: 10) .stroke(Color.black.opacity(0.1), lineWidth: 1) ) For some strange reason it's not displaying that either. The image name is correct. It's showing a blank white box.
Replies
2
Boosts
0
Views
201
Activity
Jun ’25
Window Control Placement Notification in iPadOS 26
I’m seeing that in the windowed-apps multitasking mode, the new window controls (the three “traffic-light” icons) can overlap the top-left corner of my app’s main view. Detection: How can I programmatically determine whether these window controls will be displayed? Geometry: If they are displayed, how can I find out their exact position and size? I’d like to adjust my layout at runtime to ensure no content is hidden beneath those controls. For reference, my main view does not include a status bar or navigation bar at the top.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
3
Boosts
0
Views
221
Activity
Jun ’25
Set edge effect style in AppKit
In macOS 26 beta 2 it is possible to set an edge effect style via UIKit using the .scrollEdgeEffectStyle property. (note: I haven't tested this, I'm just looking at the documentation). See: https://developer.apple.com/documentation/swiftui/view/scrolledgeeffectstyle(_:for:) Is there an equivalent API for AppKit-based apps? I can't seem to find any additions in NSView or NSScrollView or elsewhere that seem relevant. Scroll edge effects are mentioned in the "Build an AppKit app with the new design" talk here, which heavily implies it must be possible from AppKit: https://developer.apple.com/videos/play/wwdc2025/310/?time=567
Replies
7
Boosts
0
Views
377
Activity
Jul ’25
Using @Environment for a router implementation...
Been messing with this for a while... And cannot figure things out... Have a basic router implemented... import Foundation import SwiftUI enum Route: Hashable { case profile(userID: String) case settings case someList case detail(id: String) } @Observable class Router { var path = NavigationPath() private var destinations: [Route] = [] var currentDestination: Route? { destinations.last } var navigationHistory: [Route] { destinations } func navigate(to destination: Route) { destinations.append(destination) path.append(destination) } } And have gotten this to work with very basic views as below... import SwiftUI struct ContentView: View { @State private var router = Router() var body: some View { NavigationStack(path: $router.path) { VStack { Button("Go to Profile") { router.navigate(to: .profile(userID: "user123")) } Button("Go to Settings") { router.navigate(to: .settings) } Button("Go to Listings") { router.navigate(to: .someList) } .navigationDestination(for: Route.self) { destination in destinationView(for: destination) } } } .environment(router) } @ViewBuilder private func destinationView(for destination: Route) -> some View { switch destination { case .profile(let userID): ProfileView(userID: userID) case .settings: SettingsView() case .someList: SomeListofItemsView() case .detail(id: let id): ItemDetailView(id: id) } } } #Preview { ContentView() } I then have other views named ProfileView, SettingsView, SomeListofItemsView, and ItemDetailView.... Navigation works AWESOME from ContentView. Expanding this to SomeListofItemsView works as well... Allowing navigation to ItemDetailView, with one problem... I cannot figure out how to inject the Canvas with a router instance from the environment, so it will preview properly... (No idea if I said this correctly, but hopefully you know what I mean) import SwiftUI struct SomeListofItemsView: View { @Environment(Router.self) private var router var body: some View { VStack { Text("Some List of Items View") Button("Go to Item Details") { router.navigate(to: .detail(id: "Test Item from List")) } } } } //#Preview { // SomeListofItemsView() //} As you can see, the Preview is commented out. I know I need some sort of ".environment" added somewhere, but am hitting a wall on figuring out exactly how to do this. Everything works great starting from contentview (with the canvas)... previewing every screen you navigate to and such, but you cannot preview the List view directly. I am using this in a few other programs, but just getting frustrated not having the Canvas available to me to fine tune things... Especially when using navigation on almost all views... Any help would be appreciated.
Replies
2
Boosts
0
Views
300
Activity
Jul ’25
Apple Music iOS 26 features in Android
Since many users like me use Apple Music on Android, the app is almost as feature-rich as iOS. It would be fantastic if the developers could add the new iOS 26 features to the Android app, along with a minor UI change. I know it’s challenging to implement liquid glass on Android hardware or design, but features like auto-mix, pronunciation, and translation could be added. kindly consider this request !!!!
Replies
1
Boosts
0
Views
220
Activity
Jul ’25
How to hide the tick marks on a SwiftUI Slider in iOS26
In SwiftUI sliders now have tick marks by default on iOS26, how do you turn them off or hide them? This WWDC talk had some sample code on how to set the tick marks but it doesn't compile for me: https://developer.apple.com/videos/play/wwdc2025/323/ I don't see any available methods or initializers to turn them off.
Replies
3
Boosts
0
Views
182
Activity
Jul ’25
Liquid glass: UIPageViewController inside UITabbarController adding blur effect always in iOS26
When using UIPageViewController inside a UITabBarController on iOS 26 with Liquid Glass adoption, visiting the PageViewController tab applies a blur effect to the navigation bar and tab bar even though the current child view controller of the pageView is not scrollable and does not reach behind these bars. Questions: Is this the expected behavior that the pageview's internal scroll view causes the bars to blur regardless of the page view's child content’s scrollability? If so, is there an official way to make the blur effect appear only when the pageview's current child view controller actually scrolls behind the navigation bar or tab bar, and not in static cases? Tried the same in SwiftUI using TabView and TabView with page style. Facing the same issue there as well. Sample screenshots for reference, Sample SwiftUI code, struct TabContentView: View { var body: some View { TabView { // First Tab: Paging View PagingView() .tabItem { Label("Pages", systemImage: "square.fill.on.square.fill") } // Second Tab: Normal View NavigationStack { ListView() } .tabItem { Label("Second", systemImage: "star.fill") } // Third Tab: Normal View PageView(color: .blue, text: "Page 3") .tabItem { Label("Third", systemImage: "gearshape.fill") } } .ignoresSafeArea() } } struct PagingView: View { var body: some View { TabView { PageView(color: .red, text: "Page 1") PageView(color: .green, text: "Page 2") PageView(color: .blue, text: "Page 3") } .tabViewStyle(.page) // Enables swipe paging .indexViewStyle(.page(backgroundDisplayMode: .always)) .ignoresSafeArea()// Dots indicator } }
Replies
1
Boosts
0
Views
250
Activity
Jul ’25
iOS 26 Floating Search Tab in UIKit
Does anyone have any documentation for how to achieve the floating search tab item in UIKit apps that use UITabBarController? The Liquid Glass UIKit video had code for minimizing the tab bar on scroll down, but I didn't see anything on keeping the search button locked to the bottom trailing edge (as in this screenshot below).
Replies
4
Boosts
0
Views
340
Activity
Jul ’25