반응형

swiftUI 사용법 7

SwiftUI Segmented Control

개요UIKit에서 UISegmentedControl은 SwiftUI의 Picker와 같은 역할을 한다. 이번에는 Picker 컴포넌트와 UISegmentedControl 함수를 통해 서로 다른 이미지를 View에 표시해주는 간단한 프로젝트를 해볼 예정이다. 코드SideOfTheForceenum SideOfTheForce: String, CaseIterable { case light = "Light" case grey = "Grey" case dark = "Dark" }Picker의 타이틀을 정해주는 String 타입의 enum이다. light, grey, dark 총 3가지의 case가 있고 이것을 String값으로 반환해준다. CaseIterable 프로토콜을 채용하면 안에 있는 값들을 배열처럼 사용할..

SwiftUI 2021.04.01

SwiftUI Binding, Environment

개요 swiftUI에서 자신의 뷰에서의 상태값을 저장할 때는 @State 키워드를 사용한다. 하지만 이 상태값을 자신의 하위 뷰에도 적용시킬 때가 분명히 필요하다 이럴 때 사용하는 것이 바로 @Binding 키워드이다. 그리고 모든 View에는 환경 기본값이 존재한다. 사용하기 전에 따로 설정을 하지 않아도 기본적으로 설정되어있는데 이 값을 바꾸고 싶을 때는 @Environment 키워드를 사용하여 변경이 가능하다. 시작하기 @Binding 키워드를 통해서 다크모드를 사용할 수 있는 Boolean 변수를 다른 View와 공유를 하고 @Environment 키워드를 통해서 현재 View의 presentationMode의 값을 변경해서 현재 열려있는 View를 종료할 수 있게 도와주는 변수를 만들 예정이다...

SwiftUI 2021.03.31

SwiftUI Profile View

오늘은 SwiftUI 프레임워크를 이용하여 간단한 Profile UI를 만들 예정이다.결과프로필 사진과 사용자에 대한 간단한 정보를 담아주는 Textfield가 있고 오른쪽 상단에는 저장하는 버튼과 삭제하는 버튼을 생성하였다. State 변수 선언struct ContentView: View { @State private var firstName = "" @State private var lastName = "" @State private var company = "" var body: some View { } }우선 TextFiled에 입력된 값을 담는 변수들을 State로 감싸서 선언해주었다. SwiftUI의 컴포넌트는 일반적으로 Struct단위로 구성되어 사용되는데 Struct 내에서는 값이 변경이 ..

SwiftUI 2021.03.30

SwiftUI 사진 가져오기(2)

이전 게시물 보기 MemeTextField.swift 위쪽과 아래쪽에 있는 Text컴포넌트의 UI를 꾸며주는 코드이다. import SwiftUI struct MemeTextField: View { @Binding var text: String var body: some View { TextField(text, text: $text) .multilineTextAlignment(.center) .lineLimit(nil) .foregroundColor(.black) .font(Font.system(size: 25, weight: .bold)) .textCase(.uppercase) } } @Binding 어노테이션을 사용하여 text 변수를 사용하였는데 이렇게 지정한 이유는 여러개의 뷰에서 동시에 Stat..

SwiftUI 2021.03.19

SwiftUI, Multi-platform이란?

SwiftUI란 SwiftUI는 모든 애플 플랫폼에서 사용자 인터페이스를 만들 수 있게 해주는 새로운 개발 패러다임이다. 기존의 사용하던 스토리보드는 시간이 지나면 용량이 너무 커지고 협업 및 유지보수를 할 때 매우 불편해서 코드로 작성하는 개발자와 스토리보드로 UI를 작성하는 개발자가 나뉘었다. SwiftUI는 코드를 작성하는 동시에 디자인 인터페이스가 생성되고 요소들이 코드로 생성되기 때문에 스토리보드의 XML방식을 사용하지 않아도 된다. Multi-platfrom project 멀티 플랫폼 앱 템플릿은 SwiftUI 및 새로운 라이프 사이클 API를 사용하여 IOS, iPadOS 및 macOS간에 코드를 쉽게 공유할 수 있도록 도와주는 프로젝트이다. 프로젝트 구조는 모든 플랫폼에서 코드 공유를 권장..

SwiftUI 2021.02.09
반응형