TREASURE408 SwiftUI Project1 : Extension으로 정보가져오기 목차 Project 1 1. Extentsion 생성하기 Extension과 List를 사용하여 Swift에서 간단하게 화면을 구성하고 정보를 가져오는 방법에 대해서 알아보도록 하겠습니다. 일단 Xcode를 열어 프로젝트를 하나 생성 해주고, SwiftUI 파일을 하나 더 생성해주겠습니다. 파일 이름은 임의로 'Person'이라고 정해줄게요. Extension값을 정해줘야 하는데 코드는 아래와 같이 만들어 주겠습니다. import Foundation struct Person { let name: String let age: Int let imageURL: String let height: Double let weight: Float } extension Person { static func all() -.. PROJECT/Simple 2021. 2. 2. SwiftUI : Slider Slider에 대해 알아보도록 합시다. Silder SwiftUI에서 Slider는 UISlider와 비슷하게 작동하지만, 반듯이 값일 지정할 수 있도록 어딘가에 바인딩 해야합니다. 상성을 할때 제공할 수 있는 매개변수는 다양하지만, 가장 중요한 매개변수는 다음과 같습니다. Value : What Double to bind it to In : 슬라이더의 범위 Step : 슬라이더를 이동할 때 값을 변경하는정도 struct ContentView: View { //sliderValue:Double 생략가능 @State private var sliderValue = 0.0 var body: some View { VStack { Slider(value: $sliderValue, in: -100...100, st.. SWIFTUI/View layout 2021. 2. 1. SwiftUI : Divider 구분선 Divider에 대해 알아보도록 합시다 Divider Divider는 하나의 Contents와 다른 Contents를 구분하는 뷰입니다. Divider는 간단하게 선언만 해주면 되는데, 복잡하지 않습니다. 사용하는 방법은 코드로 확인해보도록 하겠습니다. Horizontal Divider var body: some View { //VStack으로 전체 화면을 40으로 할당 VStack(spacing: 40){ Group { //H_Divider Text("Horizontal Divider") Divider() Image(systemName: "a.circle.fill") Divider() } } Vertical Divider Group { //2. V_Divider Text("Vertical Divider.. SWIFTUI/View layout 2021. 1. 31. SwiftUI : VideoPlayer VideoPlayer에 대해 알아보도록 합시다. VideoPlayer iOS14부터 SwiftUI에 비디오를 추가해주는 VideoPlayer 생성자가 추가되었습니다. VideoPlayer를 사용하게 되면 로컬 또는 원격 URL에서 영화 및 동영상을 재생할 수 있습니다. AVKit 프레임 워크에서 제공되기 때문에 Import AVKit을 반드시 추가해 줘야합니다. import AVKit 앱 번들에 video가 있는 경우 만약 앱 번들에 video.mp4가 들어가있고 이것을 재생하기 위해서는 다음과 같은 코드를 작성해야합니다. TIP import AVKit 이것을 사용하려면 Swift 파일에 동영상을 추가해야 합니다. var body: some View { VideoPlayer(player: AVPlayer.. SWIFTUI/WebView 2021. 1. 31. SwiftUI : Link Link에 대해 알아보도록 합시다. Link SwiftUI에서는 Link버튼을 누르면 Safari에서 URL을 기능을 제공합니다. 사용 방법은 간단합니다. 아래 코드와 같이 버튼의 제목과 표시 할 URL 주소를 지정하면됩니다. Link("Learn SwiftUI", destination: URL(string: "https://seons-dev.tistory.com/")!) //주소위에 '!' 옵셔널 이미지 또는 SF Symbols를 활용해서 링크 버튼을 만들 수 있습니다. Link(destination: URL(string: "https://seons-dev.tistory.com/")!) { HStack { Text("서근 개발블로그") Image(systemName: "tortoise.fill") .f.. SWIFTUI/WebView 2021. 1. 30. SwiftUI : Menu 버튼을 눌렀을 때 메뉴를 표시 본 게시글은 acking with swift님의 게시글을 참고하여 작성된 글 입니다. menu에 대해 알아보도록 합시다. Menu SwiftUI는 버튼에서 팝업 메뉴를 표시하기위한 Menu라는 전용 뷰를 제공합니다. 메뉴에 표시할 항목을 제어하기 위해 다양한 버튼을 추가해줄 수 있습니다. 우선 간단한 예를 한번 알아보겠습니다. struct ContentView: View { var body: some View { Menu("Create") { Button("Cancel", action: {}) Button("Search", action: {}) Button("Add", action: {}) } } } Menu 키워드를 사용하고 메뉴 이름을 “Create”로 지정해줬습니다. 다음으로 메뉴 중괄호{ }안에 .. SWIFTUI/Others 2021. 1. 30. Swift : 기초문법 [ 고급편 - 함수 ] 함수 기본편을 보시지 않은 분들 께서는 여기를 클릭해주세요. 이번 게시글에서는 함수의 다양한 모습에 대해서 알아보도록 하겠습니다. 매개변수 기본값 매개변수 기본값은 함수의 매개변수에 값이 들어오지 않아도 자동적으로 매개변수를 가지게 되는 것입니다. 매개변수 기본값 선언을 해주기 위해서는 매개변수 이름 뒤에 타입을 써주고 매개변수 기본값을 할당해주면 됩니다. 매개변수 기본값은 매개변수 목록중에 맨 뒤에 위치하는것이 좋습니다. //매개변수 이름 뒤에 타입을 써주고 매개변수 기본값을 할당 func 함수이름 (매개변수1이름: 매개변수1타입, 매개변수2이름: 매겨변수2타입 = 매개변수 기본값 ....) -> 반환타입 { //함수 구현부 return 반환값 예를 한번 들어보겠습니다. 아래와 같이 'me'의 매개변수.. SWIFT/Grammar 2021. 1. 28. Swift : 기초문법 [ Optional 옵셔널 - Unwrapping ] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 옵셔널 Optional : "선택적인" - 평소 생활에서 '옵션'이라고 하면 있어도 되고 없어도 되는 느낌처럼 Swift에서도 마찬가지입니다. 옵셔널? 값이 있을 수도, 없을 수도 있어! 그니까, 변수나 상수가 nil일 수도 있다는 뜻! 그렇다면 Swift에서 옵셔널이 왜 필요할까요? 코드에서 많이 봐오던 '?' / '!' 기호가 바로 옵셔널 기호입니다. 예제를 보면 nil값은 Int형 타입에 할당될 수 없다고 컴파일 오류가 납니다. var test : Int test = nil //nil cannot be assigned to type 'Int' Swift에서는 기본적으로 변수를 선언할 때 non-optional 즉 어떠한 .. SWIFT/Grammar 2021. 1. 27. SwiftUI : WebView 생성(코드) WebKit에 대해 알아보도록 합시다. WebView 화면구성 WebView를 구성하기 전에 설정해줘야 하는것이 있습니다. 사전 설정 1. Xcode에 Info.plist로 들어가서 목록 제일 아래를 클릭후 엔터↩를 눌러주세요 2. App Transport Security Settings을 추가한 후, 그안에 Allow Arbitrary Loads를 추가해주세요. 3. Allow Arbitrary Loads값을 YES 로 바꿔주면 인터넷을 사용 할 수 있습니다. 코드 작성 이제, SwiftUI View를 'WebView'로 따로 만들어 놓겠습니다. 그리고 아래 코드를 넣어주세요. import SwiftUI import WebKit struct MyWebView: UIViewRepresentable { v.. SWIFTUI/WebView 2021. 1. 27. SwiftUI : Group / GroupBox Group / GroupBox에 대해 알아보도록 합시다. Group Group에서 꼭 외워야 할 것은 VStack 과의 차이점입니다. 간단하게 말하자면 - VStack은 최대 10개의 자식을 가질 수 있습니다. (HStack, LazyVStack, LasyHStack 모두 동일) - Group은 이 문제를 해결해줍니다. 코드로 한번 같이 보도록 합시다. 아래와 같이 VStack만으로 11개의 자식을 만들게 되면 컴파일 오류가 생깁니다. NavigationView { VStack { Text("1") Text("2") Text("3") Text("4") Text("5") Text("6") Text("7") Text("8") Text("9") Text("10") Text("11") //11번째부터는 컴파일 .. SWIFTUI/View layout 2021. 1. 27. SwiftUI : Animation #2 Animation #1강 Animation #2 animation stack 컨트롤 다음 예제는 클릭시 clipShape를 통해 배경색과 버튼 모양들이 변하는 코드를 작성하도록 하겠습니다. 우선 @State 에 bool 값을 할당해 준 후, 버튼 액션을 toggle로 설정해줍니다. struct ContentView: View { @State private var animationAmount = false var body: some View { Button("Tap Me") { self.animationAmount.toggle() } //background 보다 frame이 먼저 와야 한다. .frame(width: 200, height: 200) .background(Color.blue) .foregro.. SWIFTUI/Others 2021. 1. 26. SwiftUI : Animation #1 Animation에 대해 알아보도록 합시다. Animation #1 버튼을 클릭할때마다 화면 또는 이미지가 커지는 효과를 주는것은 CGFloat 와 .scaleEffect를 사용해야합니다. struct ContentView: View { //State로 animationAmount에 CGFloat을 넣어준다 @State private var animationAmount: CGFloat = 1 var body: some View { Button("Tapl Me") { //버튼이 탭 될때마다 +1씩 상승한다 self.animationAmount += 1 } .padding(50) .background(Color.green) .foregroundColor(.white) .clipShape(Circle()) /.. SWIFTUI/Others 2021. 1. 26. SwiftUI : DatePicker / DateFormatter 목차 DatePicker대해 알아보도록 합시다. (picker에 대해 알아보려면 링크를 클릭해주세요) DatePicker Picker에 시간/날짜 를 선택 할 수 있는 DatePicker에 대해 알아보도록 하겠습니다. SwiftUI의 DatePicker View는 UIKit의 DatePicker와 유사하며, 모양과 작동 방식을 제어하기 위한 다양한 옵션과 함께 제공됩니다. 값을 저장하는 모든 컨트롤과 마찬가지로 앱의 특정 @State 에 바인딩되어야 합니다. struct ContentView: View { @State private var wakeUp = Date() var body: some View { //텍스트를 "" = empty로 지정할 수 있다. DatePicker("날짜를 선택하세요", se.. SWIFTUI/View layout 2021. 1. 25. SwiftUI : Stepper (onIncrement / onDecrement) 목차 Stepper에 대해 알아보도록 합시다. Stepper 사용자가 값을 증가시키거나 감소시키면서 세분화된 제어를 하도록 하려면 Stepper 컨트롤을 사용해야 합니다. 예를들어 Stepper는 다음과 같이 수행 됩니다. 값을 1로 위아래로 변경합니다. 규정된 범위 내에서 작동 됩니다. Stepper의 가능한 값 범위에서 특정 양만큼 단계적으로 수행 합니다. 고급예제를 알아 보기 전에 간단하게 Stepper를 표현하는 방법에 대해서 보고 가도록 하겠습니다. Stepper를 사용하면 + (incrementStep) - (decrementStep) 버튼이 나오는 화면을 구성 할 수 있습니다. struct ContentView: View { //Stepper에 보여질 Amount값을 추가해주고 @State .. SWIFTUI/View layout 2021. 1. 25. SwiftUI : 삼항 연산자 / IF 삼항 연사자에 대해 알아보도록 합시다. 삼항 연산자 true ? Text("삼항 연산자는 잘 실행 됩니다."): Text("0") Nil-coalescing : 옵셔널 값을 풀어주는 개념으로 삼항 연사자를 활용해서 쓸 수 있습니다. TIP 연산자 란? 값을 확인, 변경, 결합하는 데 사용하는 특별한 기호나 문구 삼항 연사자에서?는 true, : 는 false 라고 생각하면 좋은데, 예를 들어 useRedText가 true이면 yellow, fasle이면 green으로 배경색을 바뀌게 하고 싶으면 아래와 같이 코드를 작성할 수 있습니다. .background(useRedText ? Color.yellow : Color.green) struct ContentView: View { //useRedText를 f.. SWIFTUI/Grammar 2021. 1. 25. 이전 1 ··· 23 24 25 26 27 28 다음 한국어 (기본) English Русский 日本語 👉🏻 잠깐만요! 이 글도 한 번 보고 가세요 이전글 다음글 티스토리툴바 서근 개발노트구독하기