분류 전체보기 19

[Swift] UICollectionView Custom Layout: A Spinning Wheel with Swift 5

UICollectionView Custom Layout Tutorial: A Spinning Wheel을 Swift 5로 작성한 글입니다. 1. UICollectionViewCell class CollectionViewCell: UICollectionViewCell { override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) { super.apply(layoutAttributes) guard let layoutAttributes = layoutAttributes as? CollectionViewLayoutAttributes else { return } layer.anchorPoint = layoutAttributes.anchorP..

iOS/Swift 2022.11.04

[Swift] Alamofire 기초 01 - 설치 및 사용 방법

이 포스트는 Alamofire 라이브러리 시리즈의 시작인 설치에 대한 포스팅입니다 :) 코코아팟 설치 방법은 이전 포스팅에서 확인해주세요. ([Xcode] 코코아팟 설치 및 사용하기 (CocoaPods)) Github의 공식 깃은 여기에서 확인 가능합니다. 최종 수정일 - 22. 09. 20 PM 5:15 설치 1. Podfile을 실행하여 설치하고자 하는 라이브러리를 입력해줍니다. - SwiftyJSON 을 같이 사용할 예정이므로 추가 2. pod install pod install 3. 설치 완료 - Project.xcworkspace 로 프로젝트 실행 사용법 1. ViewController 에 프레임워크 추가합니다. import Alamofire import SwiftyJSON 2. 기본형 구성 f..

iOS/라이브러리 2022.09.20

[Xcode] 코코아팟 설치 및 사용하기 (CocoaPods)

이 포스트는 코코아팟(CocoaPods)을 설명하기 위한 포스팅입니다 :) 코코아팟의 가이드라인은 여기에서 확인하실 수 있습니다. 최종 수정일 - 22. 09. 20 PM 04:30 설치 1. 터미널을 연다. 2. 명령어를 입력한다. sudo gem install cocoapods 3. 끝 사용 1. 터미널을 연다. 2. 프로젝트 파일 경로로 이동한다. cd ~/Project 3. Podfile 을 만들어 준다 pod init 4. Podfile을 열어서 설치하고자 하는 라이브러리를 작성한다. open Podfile pod 'Alamofire', '5.1' 5. 라이브러리 설치 pod install 6. 기존 프로젝트를 닫고 Project.xcworkspace을 새로 열어준다. open Project.x..

iOS/라이브러리 2022.09.20

[Swift] 무한 배너 만들기(Make a Infinite slide banner with carousel)

이 포스트는 UICollectionView의 Carousel View로 만든 배너를 무한하게 스크롤하게 만들기 위한 포스팅입니다 :) (참고: [Swift] 배너 만들기(Make a Slide banner with Carousel)) Carousel은 우리말로 회전목마를 뜻합니다. Carousel View는 일정한 형태를 유지하며 무한히 회전하는 View를 말하지만, 일정하게 Slide 되는 View를 칭하기도 합니다. 최종 수정일 - 22. 09. 20 PM 1:20 개요 1. 기존의 셀에서 앞 뒤에 2개의 셀을 추가해준다. 2. 추가 영역에 도달하면 해당 데이터와 원본 데이터가 동일한 셀로 이동한다. - 7번 셀에 도달한다면 스크롤을 2번 셀로 이동한다. - 1번 셀에 도달한다면 스크롤을 6번 셀..

iOS/Swift 2022.09.20

[Swift] 배너 만들기(Make a Slide banner with Carousel)

이 포스트는 UICollectionView의 Carousel View로 배너를 만들기 위한 포스팅입니다 :) Carousel은 우리말로 회전목마를 뜻합니다. Carousel View는 일정한 형태를 유지하며 무한히 회전하는 View를 말하지만, 일정하게 Slide 되는 View를 칭하기도 합니다. (무한히 회전하는 Carousel View를 만드는 방법은 차후에 포스팅하겠습니다.) 추가로 Timer를 이용하여 자동 스크롤이 되도록 하는 방법도 작성합니다. 최종 수정일 - 22. 09. 20 AM 9:20 방법 1. UICollectionView 생성 @IBOutlet weak var collectionView: UICollectionView! var cellSize: CGSize = .zero fun..

iOS/Swift 2022.09.19

로아툴 - 할 일 사용 가이드

초기 설정 이후 커스터마이징 순서 휴식 보너스 등 캐릭터 설정을 한다. 필요한 컨텐츠를 직접 추가하거나, 프리셋으로 추가한 컨텐츠를 수정한다. 환경설정에서 마음에 드는 UI를 적용한다. # 할 일 - 캐릭터 설정 일일 숙제의 휴식 보너스 설정 미완료 시 휴식 게이지 전환 및 사용 시 자동 차감 보유한 입장권 설정 인게임 내 데이터를 불러올 수 없으므로 수동 설정 필요 골드 획득 제한 설정 해당 설정을 한 경우, 해당 캐릭터로 군단장 등 컨텐츠 완료를 하여도 총 획득 골드 합산하지 않음 # 할 일 - 컨텐츠 설정 컨텐츠 분류 컨텐츠 갱신일 및 군단장 3회 제한 등 분류를 위한 항목 참여 캐릭터 설정 해당 컨텐츠를 진행하는 캐릭터 설정 고급 설정 골드 획득 제한 : 해당 컨텐츠의 골드 획득 제한 레벨이 있는..

개인 프로젝트 2022.09.08

[Swift] UILabel 생략 부호(... 또는 Ellipsis) 바꾸기

이 포스트는 UILabel에서 text의 길이가 numberOfLines 값을 넘었을때 나오는 생략부호(... 또는 Ellipsis 또는 three dot)을 바꾸기 위한 포스팅입니다 :) 실제로 바꾸는 것은 아니고 그렇게 보이도록 하는 방법입니다. 최종 수정일 - 22. 09. 1 PM 3:20 방법 1. replaceEllipsis(with string: String) 함수를 생성 extention UILabel { func replaceEllipsis(with string: String) { guard let text = self.text else { return } lineBreakMode = .byClipping // STEP 0: Ellipsis가 필요 없는 경우 return if numb..

iOS/Swift 2022.09.01

[Swift] textViewDidChange(_:) 위치값 초기화 현상 수정

이 포스트는 textViewDidChange(_:)에서 문자열 또는 속성 문자열 (NSAttributedString)을 설정하면 textView의 Curser position이 초기화 되는 현상을 수정하기 위한 포스팅입니다 :) 속성 문자열에 대한 포스팅은 여기서 확인하실 수 있습니다. 최종 수정일 - 22. 08. 22 PM 3:57 문제 확인 1. textViewDidChange(_:) 함수에 text 또는 attributedText를 설정한다. func textViewDidChange(_ textView: UITextView) { guard var text = textView.text else { return } textView.text = text } 2. 테스트 3. 한글자 입력 후 가장 마지막..

iOS/Swift 2022.08.22

[Swift] 화면 눌러서 키보드 내리기 (Tap to hide keyboard)

이 포스트는 화면을 눌러서 키보드를 닫기에 대한 포스팅입니다 :) 최종 수정일 - 22. 08. 12 PM 02:40 1. 아래 함수를 extention으로 추가합니다. extension UIViewController { // ViewController에서 해당 함수 실행 func setupHideKeyboardOnTap() { self.view.addGestureRecognizer(self.endEditingRecognizer()) self.navigationController?.navigationBar.addGestureRecognizer(self.endEditingRecognizer()) } // 다른곳에서는 쓸 일이 없으므로 private private func endEditingRecognize..

iOS/Swift 2022.08.12