32YB SOPT 21

[SOPT] iOS_7주차_정규세미나 (Realm을 사용한 LocalDB)

23.05.27 SOPT iOS 7주차 정규세미나 내용 1. Realm 이란 Realm 을 사용하는 가장 대표적인 예시는 카카오톡 채팅방이다. 데이터를 끄고 카톡에 들어가더라도 기존의 대화내용을 볼 수 있는데 이는, 데이터 연결이 끊긴 상태에서도 (네트워크 통신이 되지 않는 상태) 정보를 불러올 수 있다는 의미다. 이때 데이터(위의 예시로는 채팅 내역) 을 LocalDB 에 저장하고 불러오기 때문에 가능한데, 이 LocalDB 의 역할을 Realm 이 수행하는 것이다. 승찬팟짱님이 말씀주신 Realm 의 장점들 ,,, 빠른 속도가 가장 큰 장점인데 Thread-Safe하지 않다는 단점이 있다고 한다. 설명을 해주실 때는 User의 정보를 저장하는 법을 예시로 들어주셨는데 아래처럼 구조체를 선언해야 한다...

[Swift] UIPanGestureRecognizer 에서 touch(.changed) 중에 뷰 넘어가도록(.end 실행) 코드 수정

메인 뷰를 맡으면서 가장 마음에 크게 쓰이는 오류가 있었다. 우선 내가 구현한 보라색 티켓 커버를 잡고 아래로 끈 뒤 일정 위치에서 손을 떼면 티켓 커버가 아래로 떨어지면서 다음 뷰로 넘어가는 애니메이션이다. 하지만 큰 문제(?)가 있었는데 ,,, 위는 시뮬레이션 영상이다. 중간에 바로 넘어가지 않은 이유가 티켓을 잡아끌 때 손을 떼지 않아서다. 만약 유저가 티켓을 잡아끄는데 손을 떼지 않는다면? 손을 뗄 때 까지 영원히 넘어가지 않는다 ,,, 우선 코드는 @objc private func ticketCaseMoved(_ sender: UIPanGestureRecognizer) { viewTranslation = sender.translation(in: rootView.homeWeeklyView.tick..

[PPPClub] 초대장이 열리는 애니메이션

PPPClub 기능 구현 in SOPT iOS 위와 같은 뷰가 있다. 저 회색+동그라미+주황색이 포장지 느낌이라 사용자가 주황색을 아래로 당겨 내리면, 안에 있는 내용물이 챠란~ 하고 보여져야 한다. 해보자 ,,, 난 애니메이션 스터디,,, 우수 수료생이니까,,, => 색으로 구분해보았다. private func checkcardMoved() { if cardView.frame.minY cardTopView.frame.maxY { cardView.backgroundColor = .orange } if cardView.center.y > invita..

[PPPClub] Text 길이만큼 Label Size 동적할당

PPPClub 기능 구현 in SOPT iOS 위에 보이는 사진처럼 Label 안에 text 가 들어가야 하는데, 글씨의 크기만큼 label 의 사이즈가 동적할당되어야 한다. - sizetoFit() 함수와 intrinsicContentSize 을 사용하여 구현 class ChangeLabelSizeViewController: UIViewController { private var namelabel : UILabel = { let label = UILabel() label.font = .systemFont(ofSize: 15) label.textColor = .white label.backgroundColor = .darkGray label.textAlignment = .center label.text ..

[PPPClub] 앱잼 전 미리 참고할 사이트

1. 카드 내리는 애니메이션 - 이미지 내릴 때 코드 Resize 코드 추가하기 전에 끌어 내려도 다시 원래대로 돌아가는 코드 참고 일정 y값까지 내려지면, 화면 뙇~ 나오기 그런데 내렸을때, 자연스럽게 공간이 보이는건가 ,,,? 아니면 알파값이 쏴~ 하면서 보이는건지. 그리고 아래 초대장을 내렸을 때 윗 부분은 어떻게 되는건지 UISwipeGesture? UIPanGesture? 를 써야하는건지, 아니면 Scroll 처럼 해도 되는건지 ,,,,, (내얼굴 이렇게 나오는거 부담스럽네) https://ena-is.me/64 [SOPT] 애니메이션_3주차 (ContentOffset, Skeleton Animation) 애니메이션 클론코딩 스터디 in SOPT iOS 3주차는 ContentOffset 와 Sk..

[SOPT] iOS_1주차_정규세미나 (Xcode사용법, iOS기초, 화면 전환, 데이터 전달 기초)

23.04.01 SOPT iOS 1주차 정규세미나 내용 1. iOS 란? iOS란 애플의 모바일 운영체제를 말하며, iPhone 을 위한 OS 라는 의미를 갖는다. iOS 는 macOS 의 요소인 코코아, 코어 애니메이션 등의 애플리케이션 프레임워크를 포함하고 있다. 그 중에서도 Cocoa Framework 는 맥용 애플리케이션을 만들 때 사용하는 프레임워크다. 따라서 아이폰 개발을 할 때 Cocoa Framework 를 이용하여 개발을 할 수 있게 된다. 2. Framework 와 Library UIKit란 iOS, iPadOS 또는 tvOS 앱을 위한 그래픽 이벤트 기반 사용자 인터페이스를 구성하고 관리한다. 사용자 인터페이스를 구현하고 관리하는 기능을 제공한다는 것이다. Foundation 은 원시..

[SOPT] 애니메이션_4주차 (Bezier Path, CAnimations)

애니메이션 클론코딩 스터디 in SOPT iOS 4주차는 Bezier Path과 CAnimations 에 대하여 공부해보도록 하자. 우선 Bezier Path 의 Bezier 란! 간단하게 말하면 점 몇 개로 곡선을 특정할 수 있는 곡선이다. 이러한 특성 때문에 컴퓨터 그래픽이나 벡터 그래픽에서 곡선을 표현하는 방법으로 많이 쓰이고 있다. 하나의 직선 위를 점 M이 이동하고 있을 때, 당연히 점의 궤적은 직선으로 이루어질 것이며 t는 나아간 정도를 나타낼 것이다. 이때, 점이 이동한 직선을 1차 베지에 곡선이라고 말한다. 위 그림에서 선을 하나 추가하고 그 위를 이동하는 점을 놓으면 아래와 같은 모습으로 나타난다. 이때 M0과 M1을 잇는 선을 점 B를 놓을 수 있다. 점 B가 그리는 궤적이 2차 베지에..

[SOPT] 야우쓰_7주차 (메소드, 상속)

야우쓰란? "야 우리도 스위프트 할 수 있어" in SOPT iOS 7주차의 키워드는 메소드와 상속이다. - 메소드 메소드부터 알아봐야겠죠? 메소드란 특정 타입의 클래스, 구조체, 열거형과 관련된 함수를 메소드라고 한다. 저번 시간에 공부한 프로퍼티가 "값"이라면 메소드는 "함수"를 의미한다. 1. 인스턴스메소드와 타입 메소드 인스턴스 메소드는 말 그대로 인스턴스에 속한 메소드다. 매소드를 통해 인스턴스 내의 값을 제어하거나 변경할 수 있다. 자주 쓰는 self 가 그 예시다. //아래와 같이 클래스를 선언한 뒤 인스턴스 메소드를 사용할 수 있다. class Jiwon { var shin = 0 func Pretty() { shin += 1 } func Gorgeous() { shin += 2 } fun..

[SOPT] 애니메이션_3주차 (ContentOffset, Skeleton Animation)

애니메이션 클론코딩 스터디 in SOPT iOS 3주차는 ContentOffset 와 Skeleton Animation 에 대하여 공부하였다. ContentOffset 이란 UIScrollView의 하위 프로퍼티중 하나다. 직관적으로 말하자면, ContentOffset 은 내가 스크롤 한 만큼의 좌표라고 생각할 수 있다. 3주차에서는 이를 이용하여 스크롤를 한계까지 늘렸을 때, 이미지가 늘어나 뷰의 백그라운드를 감추는 실습을 진행하였다. 그렇게 한 것이 더 에쁘다고 한다! 그렇다면 실습을 시작해보자 ! 왼쪽은 익범 스장님이 보내주신 기존 코드, 오른쪽은 실습을 마친 뒤 완성 코드로 시뮬레이터를 돌려보았을 때 화면이다. 왼쪽처럼 어떠한 효과도 주지 않는다면 끝까지 당겼을 때 사진 크기가 변경되지 않고 당겨..