스위프트 (16) 썸네일형 리스트형 SwiftUI, 스위프트 UI 배경 색깔 지정 SwiftUI, 스위프트 UI 배경 색깔 지정 이게 뭐라고 한참을 헤맸다. css처럼 background-color : "#dedede" 요렇게 하면 깔끔하고 좋을텐데. 그렇다고 막 어려운 건 아니지만 헤맸기에 정리하기 위해 정해둔다. 나는 컬러값 hex 코드로 알고 있고 그냥 string값으로 넣으면 딱 바뀌겠지 했는데 그게 아니었다. 일단 색상을 hex코드로 넣을 수가 없다. 넣는 방법이 있긴 하던데 또 UIColor를 extension하고 해야 되길래 난 그런거 딱 질색이라 그냥 hex코드는 안쓰기로 했다. RGB는 사용할 수 있다. 그래서 일단 내가 원하는 hex코드는 rgb로 바꿔주는 사이트에서 바꿨다. www.rgbtohex.net/hextorgb/ HEX to RGB Join to acces.. SwiftUI에서 CustomColor 사용하기 SwiftUI에서 CustomColor 사용하기 처음에 swiftUI로 코딩을 했을 때 색깔을 지정하는 데 있어서 꽤 애를 먹었다. swiftUI에서 지정한 컬러만 사용하나 되기도 싶고. 저번 포스팅에서 rgb컬러를 사용하는 것을 보여주었지만 매번 이렇게 하는 거는 좋지 않은 것 같아서 방법을 더 찾아보니 더 좋은 방법이 있었다. 웹에서 개발할 때 자주 사용하는 컬러를 테마 컬러로 지정해서 이름을 정해주면 이름만 적으면 해당 컬러를 불러올 수 있었다. 그와 비슷한 방법이 swiftUI에 있었다. 우선 프로젝트를 만들면 네비게이션 영역에 Assets.xcassets라는 폴더처럼 생긴 파일이 있을 것이다. 저 빨간 부분에 오른쪽 마우스를 클릭하면 메뉴가 뜨는데 Color Set을 클릭하자. 그러면 다음과 같.. 스위프트 클로저(feat. 함수) 스위프트 클로저(feat. 함수) 스위프트를 배우면서 클로저라는 낯선 문법을 발견해서 정리해 두기 위한 포스팅이다. 함수에 대해서 잘 모른다면 함수를 먼저 알고 오도록 하자. 클로저는 함수와 유사하게 쓰인다. 다음 예시 코드를 보도록 하자. func sayHello () { print("Hello!") } Hello라는 텍스트를 출력하는 sayHello라는 이름의 함수이다. 클로저를 이용해 표현해보도록 하겠다. let sayHello = { print("Hello!") } 함수에서 작동하던 것을 그대로 표현하고 sayHello라는 상수에 할당하고 있다. 위 두 코드는 똑같은 기능을 한다고 봐도 무방하다. 함수와 마찬가지로 argument를 받고 결과 값을 return하도록 할 수 있다. 일단 함수로 먼저.. 스위프트 튜토리얼(13) - Optionals 스위프트 튜토리얼(13) - Optionals youtu.be/Ulp1Kimblg0?t=7552 이 포스팅은 위 영상을 보고 작성하는 포스팅이다. (02:05:41 ~ 02:20:48) Optional은 스위프트를 처음 하는 사람에게 혼란스러운 내용일 수 있다. 차근차근 살펴보도록 하자. 일단 클래스를 하나 만들어 보겠다. class Person(){ var name = "" } class BlogPost { var title = "" var body = "" var author = Person() var numberOfComments = 0 } BlogPost라는 클래스를 만들었고 title, body, author, numberOfComments라는 프로퍼티를 가지고 있다. 이 클래스는 클래스 내에서.. 스위프트 튜토리얼(12) - Initializer 스위프트 튜토리얼(12) - Initializer youtu.be/Ulp1Kimblg0?t=7045 이 포스팅은 위 영상을 보고 작성하는 것이다. (01:57:26 ~ 02:05:41) 이니셜라이저Initiallizer에 대해 알아보도록 하자. 우리 나라 말로는 생성자라고 불리기도 한다. 클래스를 통해 객체를 만들 때 이 이니셜라이저를 이용하면 객체를 커스터마이징 할 수 있다. 잘 모르겠으면 예시가 가장 이해하기 빠르다. 예문을 보도록 하자. class Person { var name = "" var age = 0 } 여기 Person이라는 클래스가 있다. name과 age라는 프로퍼티를 가지고 있다. 이 클래스를 이용해 객체를 만들어 보자. var a = Person() a에 객체가 할당되었고 a의 n.. 스위프트 튜토리얼(11) - UIKit 스위프트 튜토리얼(11) - UIKit youtu.be/Ulp1Kimblg0?t=6658 이 포스팅은 위의 영상을 보고 작성하는 포스팅입니다. (UIKit, 01:50:58 ~01:57:26) 이 포스팅은 스위프트의 클래스에 대해 감을 잡으신 분들이 보는 것이 좋을 것이다. 클래스에 대해 잘 모르겠다면 아래 포스팅을 참고하도록 하자. mangsang.tistory.com/19 스위프트 튜토리얼(9) - Class, 클래스(1) youtu.be/Ulp1Kimblg0?t=5237 이 포스팅은 위 영상을 보고 작성한 포스팅이다. (01:27:16~01:38:36) Class라는 것을 배워볼 텐데 아주 중요한 파트라고 할 수 있다. 앱을 만들 거라면 핵심 파트라고 해도 과언이. mangsang.tistory.c.. 스위프트 튜토리얼(10) - Class, 클래스(2) youtu.be/Ulp1Kimblg0?t=5915 이 포스팅은 위 영상을 보고 작성한 포스팅이다. (01:27:16~01:38:36) 저번에 배운 클래스를 더 배워보도록 하자. 이번에는 inheritance, 우리말로는 상속이라는 것을 배워보자. 일단 Car라는 클래스를 만들어보자. class Car{ var topSpeed = 200 func drive() { print("Driving at \(topSpeed)") } } 참고로 문자열 안에 변수나 상수의 값을 넣으려면 \()와 같은 형태로, 괄호 안에 넣으면 된다 위 클래스를 통해서 객체도 생성해보자. let myRide = Car() myRide.topSpeed // 200 myRide.drive() // "Driving at 200" 출력 Fut.. 스위프트 튜토리얼(9) - Class, 클래스(1) youtu.be/Ulp1Kimblg0?t=5237 이 포스팅은 위 영상을 보고 작성한 포스팅이다. (01:27:16~01:38:36) Class라는 것을 배워볼 텐데 아주 중요한 파트라고 할 수 있다. 앱을 만들 거라면 핵심 파트라고 해도 과언이 아니다. 블로그 글을 하나 작성한다고 가정해보자. 그렇다면 제목이 필요할 것이고, 글 내용이 필요할 것이고, 글쓴이가 필요할 것이다. 이를 스위프트 변수로 나타내면 다음과 같다. var blogTitle = "Hello, playground" var blogBody = "Text of the article" var blogAuthor = "Chris Ching" 만약에 블로그 글을 하나 더 쓴다고 하면 다음과 같이 변수의 이름을 바꿔서 세 개의 변수를 추가로 선.. 스위프트 튜토리얼(8) - Fuctions, 함수(2) youtu.be/Ulp1Kimblg0?t=4239 이 포스팅은 위 유튜브 영상을 보고 작성하는 포스팅이다.(01:10:39 ~ 01:27:15, Functions(2)) 좀 더 파워풀한 함수를 배워보자. 배워볼 파워풀한 함수는 데이터를 받기도 하고 데이터를 내놓기도 한다. 함수를 영어로 Method와 Function으로 부르는데 둘 다 같은 의미임을 알아두자. 일단 데이터를 내놓는 함수를 살펴보자. 보통 데이터를 리턴한다고 표현한다. 형태는 다음과 같다. func name()-> DataType { some code return someValue } DataType이라고 적힌 부분은 리턴할 데이터의 DataType을 적는다. String, Int 등과 같은 형태가 들어갈 것이다. 예시를 보도록 하자. f.. 스위프트 튜토리얼(7) - Fuctions, 함수(1) youtu.be/Ulp1Kimblg0?t=3661 이 포스팅은 위 유튜브 영상을 보고 작성했다. 개인적인 생각으로 프로그래밍의 꽃은 함수라고 생각하는데 그 시간이 되었다. Function(함수)는 이름이 주어진 코드 블록으로 이름을 부름으로써 실행이 된다. 함수의 기본적인 형태는 다음과 같다. func name(){ some code } 바로 예시를 보도록 하자 func addTwoNumbers(){ let a = 1 let b = 2 let c = a + b print(c) } 함수 이름이 addTwoNumbers인데 CamelCase형태로 작성하였다. 띄어쓰기 없이 문장을 표현할 때 단어가 끝나고 단어가 시작할 때 대문자로 표현해주는 것이다. 즉, add two nubmers 가 addTwoNumbe.. 이전 1 2 다음 목록 더보기