분류 전체보기196 [Swift] UICollectionView에서 Section을 나눠 보자! 준비물 & 들어가며 이전 포스팅에 이어서 작업하는 튜토리얼 이지만 이미 작성된 기본 UICollectionView만 있다면 조금이나마 도움이 될 거 같습니다! 이번에 구현할 것은 UICollectionView를 3개의 Section으로 나누는 것 입니다~ (섹션에 들어가는 셀은 다음 포스팅에서 다루겠습니다.) 가끔 UI 튜토리얼 보면 상단 컬렉션 뷰는 자동으로 넘어가는 카드뷰, 바로 아래에는 다른 컬렉션 뷰를 놓는 다 던가, 같은 화면에서 다른 컬렉션 뷰들이 들어가 있는 것을 볼 수 있습니다. 이때 각각의 컬렉션 뷰를 구현해도 되겠지만 Section을 나누어 구현해도 됩니다~ 어떻게 구현할 수 있는지 알아봅시다~~ section의 갯수를 지정하는 메소드가 있습니다. optional func numberO.. 2020. 9. 28. [Swift] Anchor 사용해서 UIView 넣기 들어가기에 앞서... Programmatically 뷰에 뷰를 추가하는 방법입니다. interface builder 에서 UIView를 추가하고 frame을 지정해 줘도 되지만 코드로 view를 생성해서 addSubView 해주거나 휴대폰 방향(width가 바뀌는 경우), safe Area 등은 Anchor를 이용하는 것이 편할 때가 있습니다. 이전에 포스팅 한 collectionView에서 시작하며 이때 발생한 오류는 width가 제대로 나오지 않아 짤리는 경우였습니다. Anchor를 통해서 어떻게 고칠 수 있는지 알아봅시다. 코드를 이용하여 view를 작성해서 넣어주기 위해 storyboard에 추가한 뷰를 삭제해주었습니다 연결된 IBOutlet 삭제도 꼭 해줍니다 ViewController.swif.. 2020. 9. 28. [iOS] Xcode 두 버전 같이 깔기 Xcode 12 버전 업데이트 가능하자 마자 업데이트 했더니 웬걸 Xcode 11이 필요해 졌다... 당연히 인터페이스 빌더 툴 버전도 바뀌는 건데 업데이트 버튼 바뀌자마자 손가락이 마음대로 눌러버리는 걸 우째 자 우선 Finder > 응용 프로그램 (혹은 Application)으로 들어가 줍니다 업데이트 한 Xcode의 파일 명을 바꿔 주세요 (뭐야 네이버 웨일 왜 두 개지..ㅎㅎㅎ) 자 이제 https://developer.apple.com/download/more/ 로그인 - Apple idmsa.apple.com 아래 링크로 들어가 줍니다! 로그인 필요해요 로그인 해주고 원하는 버전을 검색해 줍니다. 다운 받아 주세요 one hour later... 다운 받은 Xcode 실행해 주면 하나의 맥에서.. 2020. 9. 28. [Swift] UIViewController 에 UICollectionView 넣기 안내 해당 튜토리얼은 스토리보드에서 UICollectionViewController 로 시작하는 것이 아닌 UIViewController에 UIView를 넣고 해당 부분에 UICollectionView를 넣어주는 방법에 대한 내용입니다. 스토리 보드에서 UICollectionViewController로 시작하고자 하시면 다른 글을 참고해 주세요. 준비 프로젝트를 생성해 주고 빌드 해줍니다. 스토리보드로 실행 되는 걸 확인할 수 있습니다. 이제 스토리보드로 가서 UIView를 추가해 주겠습니다. command + shift + L 원하는 영역에 맞추어 constraints를 추가해 줍니다. 이제 ViewController.swift를 열어 줍니다. UICollectionView를 구현하기 위해서 UICol.. 2020. 9. 28. UICollectionView must be initialized with a non-nil layout parameter 에러 Exception NSException * "UICollectionView must be initialized with a non-nil layout parameter" 0x000060000266a430 에러 메시지에서 알 수 있듯이 UICollectionView는 nil 타입이 아닌 layout 파라미터로 초기화 해주어야 합니다. 아래와 같은 방법으로 컬렉션 뷰를 생성할 때 레이아웃으로 초기화 시켜 주면 됩니다! let collectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 10 layout.scrollDirection = .vertical layout.sectionI.. 2020. 9. 28. [LeetCode] 217. Contains Duplicate with Swift 배열에서 반복되는 수 찾기 Contains Duplicate - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 217번 문제는 nums는 int형 숫자의 배열이고 이 배열에서 반복되는 값이 있을 때 true를 반환 그렇지 않은 경우 false를 반환하는 것입니다. 언뜻 보기에 배열의 모든 수를 탐색해야 할 것 같지만 그렇게 하면 시간 효율성 측면에서 낮은 점수를 받을 수 밖에 없습니다. 차근차근 배열에서 중복된 값을 찾기 위해서 어떤 알고리즘과 함수를 써야 할지 알아봅시다. 1. 순수한 .. 2020. 9. 17. [Swift] 완전 간단한 tutorial -> URLSession으로 json api 에서 파싱까지 구글 검색하다가 무료 json 사이트를 발견했습니다☺️ 6가지 종류의 api를 제공하기 때문에 공부 용으로 간단하게 구현하고자 할때 사용하면 좋을 것 같아요 우선 제가 사용한 것은 'Posts' 입니다. (지금 포스트 말론의 노래를 들으며 포스트맨으로 포스트 api 구조를 보고 있습니다😎 Postman 강추) 구조를 보면 Dictionary가 Array로 들어오고 있습니다 즉 처음에는 key값이 없어용 우선 UI나 기능적인 부분은 신경쓰지 않고 JSON 데이터 부터 파싱해 보죠 구조가 간단하기 때문에 구조체도 간단하게 작성해 줍니다. 이때 Decodable 이란 디코딩 인코딩을 생각해 주시면 됩니다 Encodable은 가지고 있는 데이터를 JSON으로 변환해 줄때 Decodable은 JSON으로 부터 가.. 2020. 9. 12. [Swift] UINavigationController 사용하기 🍪 Storyboard 에서 임베드 하기 Storyboard > Editor > Embed in > Navigation Controller 🍪 Programmatically import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { self.window = UIWindow(frame: UIScreen.main.bound.. 2020. 9. 8. [iOS, Swift] AppDelegate에서 window의 rootViewController 설정하기 Swift 프로젝트를 처음 생성하고 빌드하여 실행하면 첫화면이 Main.storyboard로 설정되어 있습니다. 이때 기본적으로 파일에 있는 ViewController.swift 말고 자신이 생성한 뷰 컨트롤러를 window의 root view controller로 설정하려면 어떻게 해야 할 까요? 또한 앱 시작과 동시에 뷰 컨트롤러를 로드하면서 뷰 컨트롤러에서 필요한 초기값이 있다면?! 이때는 AppDelegate에 코드 몇 줄을 추가해 주어야 합니다. 제가 현재 공부하고 있는 책은 the big nerd ranch guide ios programming의 몇 년 지난 책입니다. 책 대로 따라하니 xcode가 예전과 바껴 오류가 생기더라구요. 그래서 이번에 예전 xcode에는 있던 window도 선언해.. 2020. 8. 27. [Android] 카드뷰 레이아웃 에러 or Refactor > Migrate to AndroidX android 카드 뷰 레이아웃을 사용하려고 dependency를 추가하는데 이런 오류가 발생했다. 이럴 땐 상단의 탭에서 Refactor을 클릭 Migrate to AndroidX 를 눌러주면 이런 창이 나옵니다. Migrate클릭 하단 창에서 Do Refactor 클릭해 줍니다. 그러면 오류가 깔끔히 사라집니다! Do Refactor 버튼까지 눌러주셔야 되요! 2020. 8. 26. [iOS] 뷰 컨트롤러(View Controller)의 생명 주기 Animation 공부할려고 보니 뷰 컨트롤러의 생명 주기에 대해 알아보면 좋을 것 같더라구요! 뷰 뜨자마자 애니메이션을 실행하고 싶은데 생명 주기 관련된 콜백 메소드가 많아서 어디에 넣으면 좋을 까 하다가 생명 주기를 정리해 봤습니다. 사실... 이전에 옵젝씨 공부하면서 슬쩍 알고 있기는 한데 정리해두면 나중에 기억이 안날때 참고하려고 적어봅니다.. 🌵실험해보기 스토리 보드에 뷰 컨트롤러를 추가합니다. 버튼을 누르면 다른 뷰 컨트롤러로 이동하도록 간단하게 만들어 주도록 하겠습니다. (스토리 보드 사용한지 얼마 안되서.. 스린이 입니다) SubViewController.swift 파일을 추가해 줍니다 이동할 뷰 컨트롤러를 선택해 주시고 identity 인스펙터에서 class를 방금 생성한 스위프트 파일과.. 2020. 8. 21. [iOS, Swift] Localization(로컬라이징, 현지화) 현지화, 지역화, 로컬라이징 등등으로 다양하게 불리고 있는데 쉽게 말해서 다른 나라에서 앱을 실행하면 그 나라의 언어에 맞게 애플리케이션의 언어를 설정해 주는 기능입니다~ 처음 배울 때는 이런 기능이 필요할까 싶었는데 글로벌 앱을 만들고자 한다면 필수일 것 같아 정리해보기로 했습니다! ** 본 내용은 iOS Program 6th (The Big Ranch Guide) 영어판을 보고 공부한 것이라 틀린 내용이나 오역이 있을 수 있습니다. 틀린 내용이나 지적있으시면 꼭 댓글 부탁드립니다! 🌐 view를 만들어 주는 방법에는 Story board를 사용하는 방법과 Programmatically 즉, 코드로 구현해 주는 방법이 있듯 지역화 또한 위 두가지 방식에 대응하는 방법이 존재합니다. 우선 첫 번째로 St.. 2020. 8. 19. 이전 1 ··· 11 12 13 14 15 16 17 다음