Search results for

column

2,050 results found

Post

Replies

Boosts

Views

Activity

How to reference a button created using three different forEach loops
Hi there, I'm working on an app that provides the user a prompt. They have to select the matching button. These butttons are created in three separate rows using three forEach loops acting on a customised button made from a Struct. ForEach(0..<10) { column in AlphabetButton( gameViewModel: gameViewModel, letter: String(alphabetTop[column]), borderColor: $borderColor.wrappedValue, onTap: buttonTapped) }} alphabetTop is an array storing letters used as the buttons label and value, and there are two other arrays with the other letters. What I'm wondering, is if the user presses a button that doesn't match the prompt. How can I make reference to the button that does match the prompt. For example, I want to make the border of that correct button flash Orange if the wrong button is pressed. I am making a keyboard app as a bit of practise in learning SwiftUI, so any assistance you can provide would be most helpful. One potential solution I've thought of, do I make the buttonTapped function, chec
1
0
751
Feb ’24
Reply to macOS SwiftUI Table Performance Issue
I've commented out much of the code and reduced the table to one column. With approx 1000 items in the table it takes about 900 msec to change the selected item. Measurment is between the time I click on the item and the UI is ready to process the next click. Instruments shows: every time I select an item the foreach loop runs for every row in the table. That accounts for about 200 msec. the remaining portion of the hang is in SwiftUI code. None of my instrumented code is called. I don't know what SwiftUI is doing, but it is doing it slowly.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’24
Reply to Crashing when going from Compact to Two Over Secondary in UISplitViewController on iPadOS 17
This is something I've been struggling with for some time. The hierarchy of my app makes this harder to diagnose. But like you, it was working fine for years. In my case, this app supported three column-layouts prior to the release of column-based split views. In order to do so, we have a concept of a NestedSplitViewController -- which is a UIViewController that owns a UISplitView. We're running into the same issue with Xcode 15 – and can't seem to pin it down.
Topic: UI Frameworks SubTopic: UIKit Tags:
Feb ’24
NavigationStack not working correctly in sheet
I am currently trying to build a NavigationManager with programmatic navigation. For that I'm using the NavigationPath combined with NavigationDestination. Sadly facing the following issue: navigationDestionation is not being recognised when located in sheet. Im receiving the following message when trying to update the path of the NavigationStack within the sheet. A NavigationLink is presenting a value of type “PathType” but there is no matching navigationDestination declaration visible from the location of the link. The link cannot be activated. Note: Links search for destinations in any surrounding NavigationStack, then within the same column of a NavigationSplitView. Here is some simplified code snipped of the implementation. struct RootView: View { @State private var isPresented: Bool = true var body: some View { Button(Open Modal, action: { self.isPresented.toggle() }) .sheet(isPresented: self.$isPresented, content: { ModalContent() }) } } private struct ModalContent: View { @State private var p
1
0
2.2k
May ’23
SwiftUI Context Menu Popping Up Whole List
When I used Context Menu for each photo in three columns. So, the code is like below: List { LazyVGrid(columns: columns) { View() .contextMenu { Button() } } } This just pop up whole list not individual element when I long press the element to see context menu. The whole list is highlighted when context menu appears. How can I make this to highlight individual element not the whole list? If I remove any of List or LazyVGrid the problem fix. But the columns are not in the way I want. Also, I don't want to change List to VStack or ScrollView which don't have refreshControl. Thanks in advance.
3
0
1.8k
Aug ’22
Reply to UITableViewAlertForLayoutOutsideViewHierarchy
just posted a bug to Apple Developer Feedback...this is still an issue in iPadOS 17 App is using a UISplitViewController with the new column style init. Both primary and secondary child view controllers are subclasses of UITableViewController (yes, I need to move to CollectionViewController ASAP)... This bug occurs when I am in landscape and select iPadOS Split View by tapping on the 3 dots menu on top of the screen. As my app slides to the left, this Xcode console occurs. The backtrace from the symbolic break point indicates there are NO calls in my code in the back trace. This is an apple UIKit bug! Workaround for overriding layouSubviews likely to work... here's the backtrace... (lldb) bt thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1 frame #0: 0x00000001942cd8dc UIKitCore`UITableViewAlertForLayoutOutsideViewHierarchy frame #1: 0x0000000193579fd0 UIKitCore`-[UITableView _updateVisibleCellsNow:] + 208 frame #2: 0x0000000193579e34 UIKitCore`-[UITableView layoutSubviews] + 1
Topic: UI Frameworks SubTopic: UIKit Tags:
Feb ’24
GPU usage constantly high after MPS test program
I did a very simple test using Metal PerformanceShaders. It is basically a MPSMatrixMultiplication.I compiled it in Terminal with 'swiftc matrixMul.swift'Then you get the executable called matrixMul.Now, execute 'time matrixMul' and after approximately 10 seconds you will get the first then elements of the result matrix prows i/nted on screen.This all works as intended, however I realized in Activity Monitor (and also because of high GPU fan speed), that somehow the GPU isn't fully released. The Activity Monitor through the GPU monitor shows 100% activity for several minutes anfter program exit. Somehow the matrixMul process keeps the GPU busy after program exit. Do I miss some statement in my code which tells the system to free resources?Below is the simple test-code------------------------------------- import Metal import Accelerateimport MetalPerformanceShaderslet n = 8192let rowsA = nlet columnsA = nlet rowsB = nlet columnsB = nlet rowsC = nlet columnsC = nvar arrayA = [Float](repeating: 1, count: rowsA *
1
0
642
Dec ’19
Reply to SwiftUI NavigationSplitView on macOS: unwanted vertical space in detail column
Thanks @Starfia, this appears to be a bug. Thanks very much for confirming that – at least it quiets my indecision about how to proceed. That advice just gives me a Content View that conforms to the detail column's resizable area, though, so I don't think it gives me the fixed-sizedness I'm looking for. The closest I've been able to come has been to hard-code the frame of the Navigation Split View itself, but that involves knowing the combined height of all views I might add to the detail column at all times (alongside which the unwanted safe area propagation persists), so it's a whole undertaking. I think for this iteration, I just have to avoid using NavigationSplitView or the Inspector; I have to implement alternatives to those provided functionalities, but the layout issues disappear the moment I sidestep them.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’24
SwiftUI NavigationSplitView on macOS: unwanted vertical space in detail column
Hi, colleagues: I've spent days trying to understand this little SwiftUI layout problem, and I've made a minimal test app to explain it. It's based on a Content View of a fixed size. import SwiftUI @main struct TestApp: App { var body: some Scene { WindowGroup { ContentView() } .windowResizability(.contentSize) .windowToolbarStyle(.unified(showsTitle: false)) } } struct ContentView: View { let complaint = What's with the vertical space around me when I'm in a detail column? var body: some View { Text(complaint) .font(.title) .frame(width: 300, height: 300) .background(.blue) } } And here's the result. As expected, the Content View is hugged nicely by the window: My goal is to place a fixed-size view like this in the detail column of a Navigation Split View. So I update the scene's root view: import SwiftUI @main struct TestApp: App { var body: some Scene { WindowGroup { NavigationSplitView( sidebar: { }, detail: { ContentView() } ) } .windowResizability(.contentSize) .windowToolbarStyle(
3
0
2.4k
Feb ’24
Reply to SwiftUI NavigationSplitView on macOS: unwanted vertical space in detail column
A fascinating update. I've tried adding the newly-introduced Inspector modifier, which I also intended to use in the app I'm making: import SwiftUI @main struct TestApp: App { @State var isShowingInspector: Bool = true var body: some Scene { WindowGroup { NavigationSplitView( sidebar: { }, detail: { ContentView() } ) .inspector(isPresented: self.$isShowingInspector) { } } .windowResizability(.contentSize) .windowToolbarStyle(.unified(showsTitle: false)) } } struct ContentView: View { let complaint = What's with the vertical space around me when I'm in a detail column? var body: some View { VStack(spacing: 0) { Text(complaint) .font(.title) .ignoresSafeArea() .frame(width: 300, height: 300) .background(.blue) } } } This time, SwiftUI apparently adds entire toolbar's height to the minimum height of the window again! Now the detail column's mysterious vertical space equals twice the height of the toolbar: It doesn't seem to matter whether the Inspector is applied to the Navigation Split Vie
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’24
wwdc2023-10162 SwiftUI cookbook: How to handle MoveCommandDirection in LazyVGrid
I was following the tutorial video to implement arrow key navigation on a LazyVGrid. (starting at 18:50: https://developer.apple.com/videos/play/wwdc2023/10162/?time=1130) In the code tab there is a full code sample but it omits the part where the MoveCommandDirection actually determines what the next grid items to select is. private func selectRecipe( _ direction: MoveCommandDirection, layoutDirection: LayoutDirection ) { // ... } Considering that the LazyVGrid actually uses an adaptive layout, what is the correct way to determine the GridItem above or below the current selected GridItem? this is the full example the tutorial provides: struct ContentView: View { @State private var recipes = Recipe.examples @State private var selection: Recipe.ID = Recipe.examples.first!.id @Environment(.layoutDirection) private var layoutDirection var body: some View { LazyVGrid(columns: columns) { ForEach(recipes) { recipe in RecipeTile(recipe: recipe, isSelected: recipe.id == selection) .id(recipe.id) #if
1
0
466
Feb ’24
Reply to Add Network Extensions capability to iOS app without joining Apple Developer Program?
So is there a way to add a Network Extensions capability to an iOS app without joining the Apple Developer Program? No. The go-to reference for this is Developer Account Help > Reference > Supported capabilities (iOS). The rightmost column in the table lists the thing you can do with a free account (aka a Personal Team). Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: Core OS Tags:
Feb ’24