Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

SwiftUI/SwiftUI(Basic)66

[61] .submitLabel / .onSubmit ⭐️.submitLabel / .onSubmit⭐️ 텍스트필드에서 입력을 끝내고 키보드의 return 버튼을 커스텀 할 수 있는 .submitLabel() 모디파이어와 return 버튼이 눌렸을 때 특정 액션을 취할 수 있는 .onSubmit() 모디파이어가 iOS15 이후 추가되었다. // Created by Toughie on 2023/05/14. // import SwiftUI struct OnSubmitLabel: View { @State private var myText: String = "" var body: some View { TextField("PlaceHolder", text: $myText) //다양한 기본 옵션 제공 .submitLabel(.go) //클로저 안에 원하는 액션을 추가.. 2023. 5. 14.
[60] @FocusState / TextField ⭐️@FocusState / TextField⭐️ 온보딩 페이지나 로그인하는 단계에서, 키보드가 자동으로 올라오고 입력을 마치면 다음 텍스트필드로 이동하며, 빈칸이 있으면 빈칸으로 커서가 이동하는 것은 매끄러운 사용자 경험에 큰 도움이 된다. 이를 구현하기 위한 @FocusState에 대해 알아보자. @FocusState는 *포커스 상태(focus state)를 관리하기 위해 사용되는 프로퍼티 래퍼이다. *포커스 상태 - 사용자가 특정 뷰나 컨트롤에 '입력 포커스를 주었는지' 나타내는 Bool값이다. @FocusState를 활용하면 포커스가 되는 시점에 특정한 동작을 수행하도록 구현할 수 있다. 아래 예시를 통해 살펴보자. 1. 화면에 진입하면 잠시 뒤에 키보드가 자동으로 올라오며 아이디 입력창에 입력 .. 2023. 5. 14.
[59] Badge 뱃지 ⭐️Badge 뱃지⭐️ // Created by Toughie on 2023/05/13. // import SwiftUI struct BadgePrac: View { var body: some View { TabView { Color.red .tabItem { Image(systemName: "flame.fill") Text("Fire") } .badge(0) Color.green .tabItem { Image(systemName: "tree.fill") Text("Tree") } .badge("New") Color.blue .tabItem { Image(systemName: "drop.fill") Text("Water") } .badge(7) } } } //Int뿐만 아니라 String도 가능하다. S.. 2023. 5. 13.
[58] List Swipe Actions ⭐️List Swipe Actions⭐️ 굉장히 마음에 드는 모디파이어다..! 원래 기존에는 delete밖에 없었는데, 이제는 leading과 trailing에 원하는 버튼을 다 넣을 수 있다. // Created by Toughie on 2023/05/12. // import SwiftUI struct ListSwipeActionsPrac: View { @State var fruits: [String] = [ "Apple", "Orange", "Banana", "Watermelon" ] var body: some View { List { ForEach(fruits, id: \.self) { //fruit in 대신 $0으로 클로저 최적화 Text($0) //스와이프 액션 추가! .swipeActions.. 2023. 5. 12.
[57] .buttonStyle / .controlSize / .buttonBorderShape ⭐️.buttonStyle / .controlSize / .buttonBorderShape⭐️ 버튼의 스타일, 사이즈, 경계선의 모양을 변경할 수 있는 모디파이어들이다. 사실 애초에 버튼은 커스텀 하기가 너무 편했기 때문에 그렇게 유용한 지는 잘 모르겠다. 🤔 // Created by Toughie on 2023/05/12. // import SwiftUI struct ButtonStylesPrac: View { var body: some View { VStack { Button("plain") { } .frame(height: 55) .frame(maxWidth: .infinity) //레이블의 사이즈에 따라 조절됨 //프레임 크기랑 상관없음 .controlSize(.regular) .buttonSty.. 2023. 5. 12.
[56] TextSelection / Window, Scene ⭐️TextSelection / Window, Scene⭐️ 텍스트를 꾹 누르면 복사 할 수 있고, 공유도 할 수 있는 textselection에 대해 알아보자. // Created by Toughie on 2023/05/11. // import SwiftUI struct TextSelectionPrac: View { var body: some View { Text("Hello, Toughie!") .textSelection(.enabled) } } 단순한 모디파이어 하나로 액티비티뷰까지 띄울 수 있다니.. 파격적이다... + 텍스트를 탭했을 때 액티비티뷰를 띄울 수 있는 코드 // Created by Toughie on 2023/05/12. // import SwiftUI struct ActivityV.. 2023. 5. 12.