Post

Replies

Boosts

Views

Activity

Custom button not respecting the size defined in frame
Hi everyone, I created a custom ButtonStyle. struct ContentView: View { var body: some View { VStack { Button("Get Started") { print("button tapped") } .buttonStyle(PrimaryButtonStyle()) .frame(width: 320, height: 50) .border(.red, width: 1) } .padding() } } public struct PrimaryButtonStyle: ButtonStyle { @Environment(\.isEnabled) var isEnabled public func makeBody(configuration: Configuration) -> some View { configuration.label .fontWeight(.medium) .background(.green) .foregroundStyle(.white) .clipShape(RoundedRectangle(cornerRadius: 6)) .opacity(configuration.isPressed ? 0.8 : 1) .saturation(isEnabled ? 1 : 0) } } I used hat style on a button and also set a size using frame. But the background is not filling up to the size. You can see the frame is there (I added the red border to debug it) but the background is not filling it. I switched the positions of the modifiers on the button but that has no effect either. What am I missing here? Any help is appreciated. Thank uoi.
1
0
619
Dec ’23
Custom button not respecting the size defined in frame
Hi everyone, I created a custom ButtonStyle. struct ContentView: View { var body: some View { VStack { Button("Get Started") { print("button tapped") } .buttonStyle(PrimaryButtonStyle()) .frame(width: 320, height: 50) .border(.red, width: 1) } .padding() } } public struct PrimaryButtonStyle: ButtonStyle { @Environment(\.isEnabled) var isEnabled public func makeBody(configuration: Configuration) -> some View { configuration.label .fontWeight(.medium) .background(.green) .foregroundStyle(.white) .clipShape(RoundedRectangle(cornerRadius: 6)) .opacity(configuration.isPressed ? 0.8 : 1) .saturation(isEnabled ? 1 : 0) } } I used hat style on a button and also set a size using frame. But the background is not filling up to the size. You can see the frame is there (I added the red border to debug it) but the background is not filling it. I switched the positions of the modifiers on the button but that has no effect either. What am I missing here? Any help is appreciated. Thank uoi.
Replies
1
Boosts
0
Views
619
Activity
Dec ’23