
x-code view as 부분에서 Appearance 부분을 보신 적 있으신가요? 왼쪽은 light mode, 오른쪽은 dark mode로 볼 수 있는 부분이에요. 사실 저도 한 번도 안 써봤지만, 이번 주 유데미 강의를 들으면서 배웠기 때문에 (+ 생각보다 쉬웠기 때문에) 정리하고자 한 번 냄겨봅니당! 참고로 이번 프로젝트에서는 pdf로 배경 이미지를 설정해요! 우선 Assets 폴더로 가주신 후에 background를 선택해주세요! 1. 이번 배경 이미지는 pdf 파일이기 때문에, Preserve Vector Data 항목을 체크해줍니다요. 2. Apperance를 'Any, Light, Dark'로 설정해주고 3. Scales 또한 'Single Scale'로 설정해줘요. 저는 vector 파일이..

어제 유데미 강의를 보면서 새로운 걸 배웠어여. assets 파일에 pdf 형식도 넣을 수가 있더라구여!?! 따단 그래서 알아본 bitmap과 vector 방식의 차이입니다. 우선 아래는 같은 이미지를 SVG 형식(vector방식)과 PNG(bitmap 방식) 형식으로 다운 받아본건데, 차이가 느껴지실까요? 이 이미지를 기억하면서 아래 내용을 봐주십셔 ㅎㅎㅎ 비트에 몸을 맡겨~ 비트맵(bitmap) 비트맵 방식은 이미지를 점(픽셀)으로 표현한다고 해요. 점들이 모여 하나의 이미지가 완성되는데, 더 많은 점이 있을수록 더 선명하게 보여요. 아래처럼 말이져. 아이폰 12 pro 모델의 경우, 1284 x 2778의 해상도를 갖는데, 이는 가로로 1284개, 세로로 2778개의 픽셀로 이루어져 있다는 말이져...

앱을 만들다 보면, 생각보다 아이폰의 화면 사이즈가 제각각이라는 생각을 멈출 수가 없더군여? (짜장면으로 통일 하라구,,,) 그래서 찾아보니, 생각보다 사이즈가 간단하지는 않았어여 ㅎㅎ 나같은 머리로는 이해모대,,, 그래도 정리를 해보려는 노력의 노력을 해볼게여 일단 Point와 pixel을 알아야 해요 Point(pt) - 1인치를 72로 나눈 값 : 0.35146mm 우리가 앱을 만들 때 하는 제약값들은 모두 point가 기준 Pixel(px) - 모니터의 해상도를 나타내는 단위 동그란 점도 엄청나게 확대를 해보면 아래처럼 점(픽셀)으로 이루어져있음 아주 예전에는 1point = 1pixel이었다고 함니당. (MAC 기준) 그런데 애플에서 레티나 디스플레이를 도입하면서 1point = 1pixel 공..

오늘은 유용하게 쓰이는 고차함수에 대해 알아볼게욧! map(_:) map함수는 기존의 배열, 딕셔너리 등을 매핑하여 새로운 배열로 리턴해주는 함수에여. 매핑 방식은 제가 정해주면 됩니다요. 제네릭형태()로 선언이 되어있기 때문에, 어떤 타입에 써도 상관이 없겠져?! 그럼 일단 한 번 예제를 볼까요? 아래와 같이 단순하게 1~5까지 있는 배열을 만들었어요. let numbers = [1, 2, 3, 4, 5] 이 배열에 점을 찍고 map 메서드를 실행해보면? 위와 같이 transform이라는 파라미터를 받을 수 있는 클로저가 나온다리~ map의 정의에서는 제네릭 형태였지만, numbers라는 배열이 Int 형태기 때문에 placeholder 부분을 보면 (Int)로 바뀐 거 보이시져? 그럼 저는 numbe..

오늘은 강의를 듣던 중 넘나 유용해서 정리하게 된 CaseIterable protocol 특집! CaseIterable는 못참지,,, 시작~ CaseIterable protocol 이 프로토콜은 "모든 값들은 컬렉션으로 제공해주는 타입"이에요. 보통 연관값(associated value)가 없는 열거형(Enum) 타입에서 주로 사용하쥬. 이 타입을 사용하면 allCases라는 속성을 통해서 모든 케이스들의 컬렉션에 접근할 수가 있어요. 뭔말이에유? 예시 ㄱㄱㄲㄲ ㄲㄱㄲㄱ 여기 CaseIterable 프로토콜을 채택한 열거형이 있습니다. (연관값 없음) enum CompassDirection: CaseIterable { case north, south, east, west } 이렇게 CaseIterable..

Array에 이어 생각보다 많이 쓰고 있는 Dictionary에 대해 좀 정리해볼게요. 문법 강의만 들을 때는 이걸 어디다가 쓰지,,,했는데 엄청 쓰네,,, 그래서 알아본 Dictionary는 키와 값의 짝으로 이루어진 배열이에요. 처음보는 스탈이라 처음에는 낯설었지만, 쓰다보면 익숙해지더라구여! 이렇게 말이져? var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"] key : "YYZ", "DUB" value : "Toronto Pearson", "Dublin" Dictionary 모든 키들은 같은 타입이어야하구요, 마찬가지로 모든 밸류들도 같은 타입이어야 합니다. key는 중복이 불가능(유일한 값)해요! (value는 ..

swift의 컬렉션 타입(Collection Type)에는 총 3개가 있쥬? Array, Dictionary, Set이 되겠습니다. 오늘은 Array(배열)부터 차근 차근 알아가볼게유? Array(배열) 말 그대로 "동일한 특성을 가지며 일정한 규칙에 따라 여러 요소가 나열되어 있는 데이터들의 집합"이라고 생각하면 됩니다. // Array 예시 let names: String = ["Anna", "Alex", "Brian", "Jack", "Anna"] 같은 타입의 요소들만 담을 수 있구요, 배열 내의 요소들은 중복이 가능해요! (순서로 구별) [ ](대괄호) 문법 (subscript)을 쓰며, 접근시에는 index로 접근을 합니다. index는 배열의 첫번째 요소부터 0, 1, 2, 3...으로 순서가..

지난 번에는 스토리보드에서 탭바컨트롤러를 만들어봤는데요. 스토리보드가 없어도 탭바컨트롤러를 만들 수 있다네여?! 롸?! 그래서 오늘은 스토리보드 없이 UITabBarController 구현하기 입니다. 1. Main연결 삭제하기 프로젝트를 만든 후 제일 먼저 나오는 General 셋팅에 보면 Development Info-Main Interface가 있는데요. 여기에 있는 Main을 삭제해주시면 됩니다. 2. Info.plist에서 스토리보드 항목 삭제 & 스토리보드 삭제 dicator에 있는 Info.plist에서 Storyboard Name 항목도 삭제해주고, 이제 필요없어진 Main.storyboard항목도 Bye~ 그리고 탭바를 두개 만들 예정이니까, 연결할 뷰컨트롤러(ViewController)..
- Total
- Today
- Yesterday