기어가더라도 제대로

[SwiftUI-기초] 버튼과 이미지, 레이블 - Button, label and Image 본문

SwiftUI - 기초

[SwiftUI-기초] 버튼과 이미지, 레이블 - Button, label and Image

Damagucci-juice 2022. 10. 12. 00:42

모든 버튼은 저마다의 역할을 지니고 있다.

  • 클로저나 함수로 역할 설정 가능
  • 버튼이 눌렸을 때 실행하는 동작
Button("Delete selection") {
    print("Now deleting…")
    
....

struct ContentView: View {
    var body: some View {
        Button("Delete selection", action: executeDelete)
    }

    func executeDelete() {
        print("Now deleting…")
    }
}

버튼의 외형 설정 - role, style

  • "버튼이 하는 일이 파괴적이다" 라고 역할을 부여
  • 그에 따른 외형도 변함
  • style의 role과 조합하여 사용 가능
  • 너무 많은 prominent button 은 사용하지 않는 것을 권장

기본
button 의 tint 컬러도 변경 가능
3번 째가 변경 - 민트색

Label 로 버튼을 더욱 커스텀하게 구현

  • 버튼에 트레일링 클로저로 label을 구현 가능
  • 레이블로 길게 구현하는 버튼의 경우 후발 트레일링 클로저에 다양한 종류의 뷰 생성
  • Label
    • SwiftUI 에 전용된 Text와 Image가 합쳐진 콘텐츠
    • HStack 안에 이미지와 텍스트를 같이 표현한 것과 같음

image의 3가지 생성법

  • Image("pencil")
    • 프로젝트에 추가한 사진을 이미지화 할 떄
  • Image(decorative: "pencil")
    • 위와 같지만 스크린 리더에 잡히지 않는 이미지를 불러옴
    • 장식용이니까 스크린 리더에 안잡힌다는 뜻
  • Image(systemName: "pencil")
    • iOS 내재된 이미지 불러옴
    • SF symbol을 불러오는 방식

이미지가 자동적으로 파랑색이 입혀지는데 이 때 renderingMode(.original)을 사용하면 사진의 원본 색을 반영한다.

Comments