[ios] setNeedsLayout vs layoutIfNeeded 안녕하세요. 오늘은 애니매이션 동작에 대해 공부를 하면서 알게 된 내용 중 하나인 setNeedsLayout과 layoutIfNeeded에 대해 포스팅해보려 합니다. 아직은 모든 궁금증이 풀린 것은 아니지만 하나하나 알게 된 것들을 소개해드리도록 하겠습니다. setNeedsLayout과 layoutIfNeeded를 비교하기 위해서는 먼저 main run loop라는 개념부터 알고있어야 합니다. Main Run Loop 어플리케이션이 실행되면 iOS의 UIApplication이 매인 스레드에서 main run loop를 실행시킵니다. main run loop는 돌아가면서 터치 이벤트, 위치의 변화, 디바이스의 회전 등의 각종 이벤트들을 ..
[ios] AutoLayout - Unable to simultaneously satisfy constraints 안녕하세요. 오늘은 제가 오토레이아웃을 사용하면서 콘솔창에 생기는 에러 메시지들의 의미를 파악하고 해결한 것을 기록하고자 이렇게 글을 작성하게 되었습니다. 저는 코드를 이용하여 동적으로 오토레이아웃을 자주 변경하는 편입니다. 하지만 가끔 작동은 되지만 알 수 없는 오토레이아웃 에러 메시지들이 콘솔창에 출력이 되고 평소에는 이를 무시하였으나 오늘은 이를 확실히 알고 싶어 살짝 공부해보았습니다. 먼저 에러가 났던 코드는 다음과 같습니다. 코드를 이해하실 필요는 없습니다. 간단히 말씀드리자면 오토레이아웃의 초기 설정은 setupPlayerDetailView입니다. 하지만 특정 액션이 주어지면 ma..
[ios] 슬라이드 메뉴 만들기 안녕하세요. 오랜만에 iOS 포스팅으로 찾아뵙습니다. 오랜만에 글을 쓰는만큼 오늘은 좀 더 실용적이지만 생각보다 간편하게 만들 수 있는 슬라이드 메뉴 바를 만들어 보는 시간을 갖도록 하겠습니다. iOS 슬라이드 메뉴바를 구글에 검색해보면 대표적인 라이브러리가 하나 있습니다. 바로 SWRevealViewController 입니다. 저도 처음에는 이것을 이용해서 슬라이드 메뉴를 만들어보았습니다. 하지만 스토리보드를 이제 사용하지 않는 저에게는 그다지 메리트 있는 라이브러리는 아니였습니다. 그리고 사용법을 익히는 것도 저에게는 부담스럽더라구요. 그래서 저는 제가 직접 만들어보기로 했고 생각보다 쉽게 원하는 기능을 구현하여셔 공유하고자 이렇게 포스팅으로 남기려 합니다. 먼저 이번..
Auto Layout Programmatically 처음 iOS 개발을 시작할 때 UI를 구성하는 가장 좋은 방법은 storyboard를 사용하는 것입니다. 위치를 잡기 쉽고 육안으로 확인을 할 수 있기 때문입니다. 저 역시 계속해서 storyboard를 사용해왔습니다. 하지만 항상 모든 영상이나 블로그들의 글을 보면 “storyboard로는 한계가 있다. 코드로 작성을 해야할 때가 있다” 사실 이 말에 크게 공감할 일이 없었습니다. 아직까지는 공부를 이제 막 시작한 저에게는 storyboard만으로도 충분히 좋은 결과물을 볼 수 있었습니다. 하지만 협업을 할 일이 생겼고 iOS 프로젝트는 협업을 어떻게 해야하나를 알아보던 중 git을 통해 협업을 하다보면 storyboard의 conflict가 상당히 ..
- Total
- Today
- Yesterday
- nodejs
- 스위프트
- 테이블뷰
- Swift
- 부스트코스
- CRUD
- iPhone
- 운영체제
- edwith
- Codable
- oauth2.0
- 클로저
- segue
- TableView
- 백준
- storyboard
- auto layout
- 오토레이아웃
- Protocol
- IOS
- Xcode
- 아이폰
- Operating System
- 알고리즘
- Algorithm
- boostcourse
- notificationcenter
- UIControl
- 프로토콜
- UIResponder
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |