Post

Replies

Boosts

Views

Activity

Weird problem with my custom view in SwiftUI
I am just starting to build a new app but I have already run into some weird problem. I created a custom button as a separate view. On the preview the button looks as expected: The code for the view above looks like this: struct LeagueSelectorButton: View { let text: String let leagueID: Int @Binding var isSelected: Bool var body: some View { HStack { leagueLogo leagueName } .padding(10) .background { RoundedRectangle(cornerRadius: 6) .stroke(isSelected ? .green : .black, lineWidth: 3) } .onTapGesture { isSelected.toggle() } } var leagueLogo: some View { AsyncImage(url: URL(string: "https://media.api-sports.io/football/leagues/\(leagueID).png")) { image in image .resizable() .frame(width: 35, height: 35) } placeholder: { Rectangle() .frame(width: 35, height: 35) } } var leagueName: some View { Text("\(text)") .bold() .font(.title) } } But when I use this custom button in a different view it starts to look weird as you can see. The corners are all wrong and line widths are all over the place: The code for this view is the following: struct GamesView: View { @State var isSelected = false var body: some View { ScrollView { VStack { ScrollView(.horizontal) { HStack { LeagueSelectorButton(text: "Premier League", leagueID: 39, isSelected: $isSelected) } } .scrollIndicators(.hidden) .padding() // ... // other code that doesn't matter } } } } Help me out here. I don't really understand what I am doing wrong here.
1
0
296
Jul ’24
Confused about LLDB's "p" and "expr" commands
As I was watching WWDC19 Session: "LLDB: beyond "po" " I got confused about "p" command. In the session there was a following example to show how "p" command works: // Struct for demonstration purposes struct Trip { var name: String var destinations: [String] let cruise = Trip ( name: "Mediterranean Cruise" destinations: ["Sorrento", "Capri", "Taormina"]) Using "p" to get info about cruise instance: (lldb) p cruise (Travel.Trip) $R0 = { name = "Mediterranean Cruise" destinations = 3 values { [0] = "Sorrento" [1] = "Capri" [2] = "Taormina" } } I was following along and wrote the same code. But the output from LLDB turned out to be different: (lldb) p cruise (LLDB_Apple_Session_FollowAlong.Trip) { name = "Mediterranean Cruise" destinations = 3 values { [0] = "Sorrento" [1] = "Capri" [2] = "Taormina" } } As you can see LLDB didn't create a global variable R0 which I could later use in my debugging session and that seemed strange to me. Then the presenter said the following: "p" is just an alias for the "expression" command. So, I tried to use the "expr" command to see if they're actually the same and they turned out to be different commands. The output I got from "expr" was the one I expected from "p": (lldb) expr cruise (LLDB_Apple_Session_FollowAlong.Trip) $R0 = { name = "Mediterranean Cruise" destinations = 3 values { [0] = "Sorrento" [1] = "Capri" [2] = "Taormina" } } Finally, my question is: Am I wrong somewhere or did something change in LLDB regarding "p" and "expr" commands and if so, where could I get more information about the changes?
2
0
945
Dec ’23