Search results for

column

2,070 results found

Post

Replies

Boosts

Views

Activity

Reply to DocumentBrowser toolbar behavior in SwiftUI apps
Hi Ziqiao, the problem is that when you want to use SwiftData for an enterprise app, the user needs proper navigation. In such apps, you usually have more than one screen or form. I did some additional tests with your code and replaced the NavigationStack with a NavigationView. The reason is that I need the automatic two-column split for a sidebar menu and a detail view, not just a single view. The NavigationSplitView doesn’t seem to work as expected. Using it as a root view with an embedded TabView was my first attempt, but that didn’t work either. That’s why I tried embedding the NavigationSplitViews inside the TabView. When I replace your NavigationStack with a NavigationView, I get the automatic two-column view on iPad — but with a second navigation view below the DocumentGroup navigation view. This looks bugged. The NavigationSplitView also has issues with the back button and the document title in sheets. I’ll file a feedback report for now as you suggested and try to find a workaround
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Aug ’25
NSTableView.reloadData(forRowIndexes:columnIndexes:) causes wrong subview layout when usesAutomaticRowHeights = true
I have a table view where each row has two labels, one left-aligned and one right-aligned. I would like to reload a single row, but doing so causes the right-aligned label to hug the left-aligned label. Before the reload: After the reload: Reloading the whole table view instead, or disabling automatic row height, solves the issue. Can a single row be reloaded without resorting to these two workarounds? I created FB13534100 1.5 years ago but got no response. class ViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate { override func loadView() { let tableView = NSTableView() tableView.translatesAutoresizingMaskIntoConstraints = false tableView.dataSource = self tableView.delegate = self tableView.usesAutomaticRowHeights = true let column = NSTableColumn() column.width = 400 tableView.addTableColumn(column) let scrollView = NSScrollView(frame: CGRect(x: 0, y: 0, width: 500, height: 500)) scrollView.translatesAutoresizingMaskIntoConstraints = false scrollView.documentView
Topic: UI Frameworks SubTopic: AppKit Tags:
2
0
129
Aug ’25
iOS 26 crashes with CALayerInvalidGeometry when using magnifier on Webview
I have a Net8 Maui WebView app and whenever I use magnifier, it crashes. The magnifier works on iOS18 and lower but crashes on iOS26+ Exception **Type:** CALayerInvalidGeometry **Value:** CALayer position contains NaN: [nan 65]. Layer: >; sublayers = (, ); opaque = YES; allowsGroupOpacity = YES; anchorPoint = CGPoint (inf 0); opacity = 0> Stacktrace __exceptionPreprocess in unknown file [Line null, column null] (Not in app) objc_exception_throw in unknown file [Line null, column null] (Not in app) +[NSException raise:format:] in unknown file [Line null, column null] (Not in app) CA::Layer::set_position in unknown file [Line null, column null] (Not in app) -[CALayer setPosition:] in unknown file [Line null, column null] (Not in app) -[UIView _backing_setPosition:] in unknown file [Line null, column null] (Not in app) -[UIView setCenter:] in unknown file [Line null, column null] (Not in app) -[_UIEditMenuContentPresentation _displayPreparedMen
Topic: Safari & Web SubTopic: General
2
0
278
Aug ’25
Reply to Bundling app with our own SQLite
Can we bundle our app with our own version of SQLite with extensions that we want. Yes, and you should do that. The version that Apple includes depends on the iOS version (see https://github.com/yapstudios/YapDatabase/wiki/SQLite-version-(bundled-with-OS) for a table). If you use the Apple version, there's a danger that your app will break after an iOS update, or will not function on an older iOS version that you are still trying to support but don't test on as well as you should. I was caught out by the latter issue because the sqlite in iOS 14 doesn't support on conflict without a column list.
Aug ’25
Reply to Swift 6 Minimum Requirement for App Store
While I can't predict the future or comment on anything future looking, I'd like to color in some details of the complier so you have a more complete understanding of how things work, in hopes that you can use this information to inform your own decisions around adopting Swift 6. If you take a look at the Xcode support page and look at the table of Xcode versions, you'll notice the Swift column has two sets of data — the complier version, and language modes. As you stated, Swift 6 was released with Xcode 16, and you can see that in the version number of the complier in the chart. Every Xcode release has one version of the Swift complier, and so that means every app that has compiled with Xcode 16 or newer has already compiled with the Swift 6 complier. Your question here is better stated as what is the longevity of the Swift 5 language mode? The language mode (which you'll find in your project as the SWIFT_VERSION build setting) is the version of the language the compiler is using for its compilation
Aug ’25
Should I use tabview or navigationsplitview?
I want to make an app that has a navigationsplitview with three columns on iPad but a tapbar on iPhone and small iPad windows. How should I do that? Since iOS 18 you can use tabview to make a tabbar on iPhone and a sidebar on iPad, but then you just have two columns. Is there a way to make this possible? Can you make a navigationsplitview sidebar move into a tabbar? And how did you do it before iOS 18 like in the podcasts app?
Topic: UI Frameworks SubTopic: SwiftUI
0
0
86
Aug ’25
NavigationSplitView content column renders list in plain style – even on iPhone
Hi everyone, I’m building an iOS app that originally targeted iPhone using NavigationStack. Now I’m adapting it for iPad and switched to using NavigationSplitView to support a three-column layout. The structure looks like this: NavigationSplitView { A // Sidebar } content: { B // Middle column – this shows a list } detail: { C // Detail view } The issue is with the list shown in view B (the content column). It appears completely unstyled, as if it’s using .listStyle(.plain) — with no background material, and a very flat look. I can understand that this might be intentional on iPad to visually distinguish the three columns. However, the problem is that this same unstyled list also appears on iPhone, even though iPhone only shows a single column view at a time! I tried explicitly setting .listStyle(.insetGrouped) or .listStyle(.grouped) on the list in view B, but it makes no difference. When I go back to NavigationStack, the list in B is styled properly, just as expe
0
0
86
Aug ’25
NavigationSplitView content column renders list in plain style – even on iPhone
Hi everyone, I’m building an iOS app that originally targeted iPhone using NavigationStack. Now I’m adapting it for iPad and switched to using NavigationSplitView to support a three-column layout. The structure looks like this: NavigationSplitView { A // Sidebar } content: { B // Middle column – this shows a list } detail: { C // Detail view } The issue is with the list shown in view B (the content column). It appears completely unstyled, as if it’s using .listStyle(.plain) — with no background material, no grouped sections, and a very flat look. I can understand that this might be intentional on iPad to visually distinguish the three columns. However, the problem is that this same unstyled list also appears on iPhone, even though iPhone only shows a single column view at a time! I tried explicitly setting .listStyle(.insetGrouped) or .listStyle(.grouped) on the list in view B, but it makes no difference. When I go back to NavigationStack, the list in B is styled p
0
0
86
Aug ’25
Reply to UISplitView with "sidebar" and Liquid Glass
I have the same issue, I'm not able to reach the same side bar appearance as the Settings app with UISplitViewController (tested on iOS 26 Beta 4). I've created a very basic double column split view controller and there isn't the Liquid Glass effect around the edges of the primary view controller. Interestingly, it does work if one uses the SwiftUI equivalent NavigationSplitView. So either it's a bug in UISplitViewController, or it's not planned for it to support that appearance (hopefully not!).
Topic: UI Frameworks SubTopic: UIKit Tags:
Aug ’25
Reply to Mitigating overlapping text for sticky section headers for a plain List in iOS 26
Is there a modifier to make section headers non-sticky? You can use the automatic .listStyle(.automatic) or opt for a lazy stack instead and apply your decorators. For examples, refer to Grouping data with lazy stack views. .listStyle(.automatic) results in in .insetGrouped, so that's a different look. I tried the LazyVStack approach and this worked well for a screen that was pretty custom-styled anyway. Side note: LazyVStack made me a little upset by applying the spacing not only between rows, but also after the section header; requiring dancing around with the spacing and paddings to get the correct look; I wished for a separation of spacing between sections, spacing between rows and spacing between [section header/rows/section footer]. But I'm wondering if this is a well-rounded approach for Views that just want a plain styled data list. It's certainly more feasible with the delicate separators-going-all-the-way-through-to-the-edge-of-the-screen gone in iOS 26, but still, custom-rebuilding all the Views wi
Topic: UI Frameworks SubTopic: SwiftUI
Aug ’25
Reply to SKAdNetwork: Error while updating conversion value
So, my current experience with this. I am advertising my ios app with Google Ads app campaign. Whenever user does this one thing on the app, I log an event to Firebase/Google Analytics. That event there shows up fine with proper count. Then I export this event to Google Ads, and also make a SKAdNetwork mapping. This event shows up in Google Ads as a conversion action definition, but with status No recent conversions. I want it to show Active. I have also set AppsFlyer to receive winning SKAN postback copies (its a bit easier to read them there in the SKAN Overview section). I do see the app instals there, meaning I am getting SKAN postback copies, but the column Null conversion value rate is always 100% - meaning, each received postback has conversion value as NULL. Now, it is my understanding, that in order to update that Conversion Value (CV), we have 2 approaches: Directly: SKAdNetwork.updatePostbackConversionValue(5) { error in if let error = error { // Report production error to Sentry } } Indir
Topic: App & System Services SubTopic: StoreKit Tags:
Jul ’25
Mitigating overlapping text for sticky section headers for a plain List in iOS 26
When preparing SwiftUI code that uses List with .listStyle(.plain) for iOS 26, the by-default sticky section headers combined with the new translucent top-bars often causes unpleasantly overlapping text: Two questions here: Is there a modifier to make section headers non-sticky? This would be helpful for cases where the translucent bar is a good fit and the section titles don't need to be sticky/pinned. I found .listStyle(.grouped) can be an alternative in some cases, but this adds a gray background / additional padding to the section titles. Is there a way to get a blurry material behind the section headers when they are sticking to the top bar? This would be good for cases where the section header is important content-wise (like in the two-column example above or for a data list categorized using sections that should be always visible as a point of reference) I found the scroll edge effects and .scrollEdgeEffectStyle(.hard, for: .top) does the trick for the top bar but doesn't affect attached stick
Topic: UI Frameworks SubTopic: SwiftUI
5
0
198
Jul ’25
VoiceOver doesn't work well for accessing PDFs/forms with tables
I have been working to remediate PDFs for a client. The documents/forms have many tables. When I correctly tag a table, using Foxit Editor Pro, it works beautifully on a PC reading it with NVDA. On Mac using VoiceOver the table isn't accessible. It doesn't matter if I try to read it in Adobe Acrobat, Foxit, or Preview. The reader often says the document is empty, omits column headers, and/or associates the wrong header with the column data. The documents have essentially the same coding behind them as for the web. Why is it they perform so well on a PC with NVDA, but so poorly with Mac VoiceOver? I am a Quality Assurance Specialist. I review websites apps, and documents for accessibility. Why can't I do my job using only my Mac system? As a Mac user, it frustrates me that I can't use my preferred system for checking documents to see if they are accessible because VoiceOver doesn't work well. I actually have to recommend to my clients and their customers that they need to use a PC with NVDA o
1
0
137
Jul ’25
Label text in UISplitViewController primary column not respecting dark mode in iOS 26 beta 4
In iOS 26 beta 4 (build from July 2025), there is a visual issue when using a UISplitViewController. Specifically, the text color of labels in the primary column does not adapt correctly to Dark Mode. This includes navigation bar titles and labels inside UITableViewCells. Regardless of system appearance settings, the text remains black, making it unreadable when the system switches to Dark Mode. To reproduce this, create a new iOS project using UISplitViewController with the .doubleColumn style. In the primary column, embed a UIViewController that contains a navigation title using navigationItem.title, and a UITableView showing a list of items. Run the app on a device or simulator with iOS 26 beta 4. Then switch the system appearance to Dark Mode using Control Center and observe the interface. The expected result is that all labels in the primary column, including the navigation title and table view cell labels, should automatically update to a light text color in Dark Mode. This be
Topic: UI Frameworks SubTopic: UIKit Tags:
1
0
75
Jul ’25
Reply to Test my app without ADP membership
Just a couple of factoids to expand on the previous answers… If your Apple Account is not a member of a paid developer team then Xcode lets you develop apps for your own device. This feature is known as a Personal Team. It has significant limitations. For the specifics, see Developer > Support > Choosing a Membership. If you’re using a Personal Team, it’s a good idea to bookmark the Developer Account Help > Reference > Supported capabilities (iOS) page. The last column, labelled Apple Developer, shows what entitlements are available to Personal Team developers. Sadly, Family Control is not in that list )-: Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Code Signing SubTopic: Entitlements Tags:
Jul ’25