반응형

SwiftUI 19

SwiftUI Gesture

swiftUI에는 다양한 Gesture를 보다 쉽게 구현할 수 있도록 도와준다. Gesture를 감지하는 변수를 GestureState 키워드를 통해 바인딩을 하여 변수가 true일 때만 guesture를 실행하는 식으로 Gesture를 제공하고 있다. Gesture는 총 5가지 종류의 제스쳐가 있다. — TapGesture : 하나 이상의 탭을 인식하는 제스쳐이다. — LongPressGesture : 길게 누르면 인식하는 제스쳐이다. — DragGesture : 드래그 이벤트가 변경될 때 작업을 호출하는 제스쳐이다. — MagnificationGesture : 확대를 할 때 인식하는 제스쳐이다. —RotationGesture : 회전 동작을 인식하고 회전 각도를 추적하는 제스쳐이다. LongPress..

SwiftUI 2021.02.24

SwiftUI Toggle, Label, Grid

Toggle on/off 버튼을 만드는 컴포넌트이다. Example import SwiftUI struct ContentView: View { @State private var status = true var body: some View { Toggle(isOn: $status, label: { Text("toggle") }) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } 기본적으로 bool 값을 받는 isOn 파라미터와 제목을 Text 컴포넌트로 받는 label 파라미터가 있다. Example2 Toggle 스타일을 통해 toggle 버튼을 커스텀할 수 있다. impo..

SwiftUI 2021.02.22

SwiftUI Gradient

Gradient SwiftUI의 구조체 중 하나로 그라데이션을 적용할 때 사용한다. 파라미터는 colors라는 배열 파라미터가 존재하고 해당 배열안에 원하는 색상을 넣으면 적용이된다. Init Gradient(colors: [.red, .blue]) 이렇게 하면 색상이 빨간색과 파란색으로 된 그라데이션을 만들 수 있다. LenearGradient LenearGradient는 시작점과 끝점으로 축에 따라 색상 함수를 적용하는 그라데이션을 제공한다. Example import SwiftUI struct ContentView: View { var body: some View { LinearGradient(gradient: Gradient(colors: [.red, .white]), startPoint: .to..

SwiftUI 2021.02.20

SwiftUI ActionSheets, Alert, Popover

Action Sheets Action Sheets는 팝업 뷰의 종류 중 하나로 응답값에 대한 옵션이 2개 이상일 때 사용하기 좋다. macOS에서는 사용이 불가하고 iOS에서만 사용 가능하다. import SwiftUI struct ContentView: View { @State private var showActionSheet = false var body: some View { VStack { Button("Show action sheet") { self.showActionSheet = true } }.actionSheet(isPresented: $showActionSheet) { ActionSheet( title: Text("Actions"), message: Text("Available actio..

SwiftUI 2021.02.18

SwiftUI Image, Button

Image 선언방법 import SwiftUI struct ContentView: View { var body: some View { VStack { Image("charleyrivers_feature") Image(systemName: "circle") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } → Assets 이미지 파일 : Assets에 있는 이미지 파일의 이름을 String 타입으로 입력한다. → xcode 기본 이미지 : systemName 파라미터를 사용하여 넣는다. 프레임에 영향을 받지 않는다. 이미지는 기본적으로 자신의 비트맵을 측정하여 크기를 선택..

SwiftUI 2021.02.17

SwiftUI @State, @Binding, TextField

개요 SwiftUI는 뷰 계층을 구성할 때 뷰에 대한 데이터 종속성도 표시한다. 외부 이벤트 또는 사용자가 수행한 작업으로 인해 데이터가 변경되면 SwiftUI는 인터페이스의 영향을 받는 부분을 자동으로 업데이트한다. 이런 앱 모델 내의 데이터 흐름과 변경사항을 제어하고 대응하는 상태를 제공하는 것은 총 3가지가 존재한다. —State —Binding —Observed Object @State SwiftUI의 view는 Struct 구조체로 구성되어 있고 이는 언제든 사용가능하고 소멸 또한 가능하다. 일반적으로는 Struct는 값 타입이라 Struct 안에 있는 값을 변경할 수 없다. 그래서 만든 것이 @State 키워드로 이는 struct 내에서 값을 변경가능하도록 도와준다. — String, Int,..

SwiftUI 2021.02.16

SwiftUI, Multi-platform이란?

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

SwiftUI 2021.02.09
반응형