Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

SwiftUI – Button with text and image in a certain style

I created a button style control just using text and certain modifiers on it. However I wish to have an image besides it, hence I might will have to convert it to actual button unless there is a way to add image besides text element.

enter image description here

What I want is 2nd ‘Cancel’ with image besides it. Here is the code for 2nd ‘Cancel’ button. It’s just a Text element with modifiers, so I might not be able to add image directly to it.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Text("Cancel")
    .font(.subheadline)
    .padding()
    .frame(width: 100, height: 20)
    .background(Color(red: 0 / 255, green: 94 / 255, blue: 149 / 255))
    .foregroundColor(.white)
    .padding(5)
    .border(Color(red: 0 / 255, green: 94 / 255, blue: 149 / 255), width: 5)
    .cornerRadius(15)

I tried using Button element to achieve it, but it looks way bigger.. first ‘Cancel’ button is the output of what I tried. Here is the code:

Button(action: {}) {
    HStack {
        Text("Cancel").font(.subheadline).foregroundColor(.white)
        Image("cross-cancel").foregroundColor(.white)
    }
}.padding().background(Color(red: 0 / 255, green: 94 / 255, blue: 149 / 255)).cornerRadius(15)

How do I get 2nd ‘Cancel’ with image besides it?

>Solution :

Put them into HStack and remove width hardcoding for frame, like

demo

HStack {
    Text("Cancel")
    Image(systemName: "xmark.circle")
}
.font(.subheadline)
.padding()
.frame(height: 20)
.background(Color(red: 0 / 255, green: 94 / 255, blue: 149 / 255))
.foregroundColor(.white)
.padding(5)
.border(Color(red: 0 / 255, green: 94 / 255, blue: 149 / 255), width: 5)
.cornerRadius(15)

Tested with Xcode 13.4 / iOS 15.5

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading