본문 바로가기
iOS - 실무관련/SwiftUI

Button

by print_soo 2022. 9. 14.

1. 기본적인 사용방법

Button(action: {
    //버튼이 터치되었을 때 수행할 작업
}) {
    Text("Button) // 버튼 UI
}

 

2. 텍스트를 이용해서 버튼 만들기

import SwiftUI

struct ContentView: View {
    var body: some View {
        HStack(spacing: 10) {
            
            // 1) 단순히 텍스트로만 버튼을 표현할 때
            Button("B1") {
                print("B1")
            }
            
            // 2) 먼저 텍스트를 만들고 외곽선을 추가할 때
            Button(action: { print("B2") }) {
                Text("B2")
                    .padding()
                    .background(RoundedRectangle(cornerRadius: 10).strokeBorder())
                    
            }
            
            // 3) 먼저 외곽선을 그리고 그 위에 텍스트를 올려줄 때
            Button(action: {print("B3")}) {
                Circle()
                    .stroke(lineWidth: 2)
                    .frame(width: 80, height: 80)
                    .overlay(Text("B3"))
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

 

 

 

3.  이미지를 이용해서 버튼 만들기

import SwiftUI

struct ContentView: View {
    var body: some View {
        HStack(spacing: 10) {
            
            
            
            // 1) 먼저 텍스트를 만들고 외곽선을 추가할 때
            Button(action: { print("B1") }) {
                Image("SwiftUI")
                    .resizable()
                    .frame(width: 50, height: 50)
                    .cornerRadius(25)
                    
            }
            
            // 2) 먼저 외곽선을 그리고 그 위에 텍스트를 올려줄 때
            Button(action: {print("B2")}) {
                Image(systemName: "play.circle")
                    .imageScale(.large)
                    .font(.largeTitle)
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

 

 

 

 

4. Button Style

 

구분 설명
DefaultButtonStyle buttonStyle을 생략시 기본으로 적용되는 값이다. 버튼이 사용된 환경에 따라서 시스템이 알아서 적절한 버튼 스타일을 반영한다.
(모든 OS에서 공통으로 사용할 수 있다.)
BorderlessButtonStyle iOS에서 대부분의 경우에 기본 반영되는 스타일이다. 콘텐츠에 미지 지정된 시각적 효과가 적용되며 그 명칭이 의미하는 것처럼 테두리를 그리지 않는다. 
(MacOS에서 사용되는 BoderedButtonStyle과 반대)
PlainButtonStyle 유휴상태(어떠한 프로그램에 의해서도 사용되지 않는 상태)에서는 버튼의 콘텐츠에 어떠한 시각적 요소도 적용하지 않는다.
(모든 OS에서 공통으로 사용할 수 있다.)

 

 

'iOS - 실무관련 > SwiftUI' 카테고리의 다른 글

NavigationLink  (0) 2022.09.20
NavigationView  (0) 2022.09.20
Image  (0) 2022.09.07
overlay - View 중첩  (0) 2022.08.10
.clipShape( ) - 이미지 모양 변경하기  (0) 2022.08.10