iOS 27

iOS ) 현재 위치 가져오기

안녕하세요:) 오늘은 위치 권한을 요청받고 현재 사용중인 기기의 위치 정보를 가져오는 방법에 대해서 알아보겠습니다. 💡 주의사항 시뮬레이터로 실행 시 현재 위치가 아닌 샌프란시스코가 나오더라구요? 아마 시뮬레이터 특성 상 생기는 문제인 듯 합니다 그래서 저는 제 아이폰을 사용해서 진행하였으니 참고해주세요!! 가장 먼저 해주어야 할 것은 info.plist의 수정입니다. info.plist - Information Property List 아래에 사용 용도에 따라 추가해주시면 됩니다! Privacy - Location When In Use Usage Description - 앱이 사용중일때만 가져오기 Privacy - Location Always and When In Use Usage Description..

iOS 2020.12.24

iOS) Collapsable HeaderView

안녕하세요:) 스크롤에 따라 스스륵..하고 사라지는 Collapsable HeaderView에 관해 알아보려고 합니다. 당근마켓 클론코딩을 하면서 이런 헤더뷰가 있었거든요. 우선 제가 참고한 사이트들은 두가지입니다! 유튜브자료 StackOverflow 특히 두번째 링크를 통해 힌트를 좀 얻을 수 있었는데요. 저는 해당 링크를 참조하여..이렇게 구현을 했습니다. // 스크롤에 따라 최 상단 헤더뷰 Collapsable하게 func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView.contentOffset.y < 0 { headerHeight?.constant = max(abs(scrollView.contentOffset.y), minHeigh..

iOS 2020.11.30

[iOS] 테이블 뷰와 컬렉션 뷰의 Delegate

UICollectionViewDelegateFlowLayout 공부할 겸.. 먼저 글을 읽기 전에 Delegate Pattern에 대해 정리한 글을 읽고 와주시면 더 이해가 빠를것 같습니다! 01. UITableViewDelegate 테이블뷰 델리게이트 객체는 UITableViewDelegate 프로토콜을 채택한다. 테이블뷰 델리게이트는 테이블뷰의 모양과 동작을 관리하기에 MVC(Model-View-Controller) 디자인 패턴 중, Controller와 관련이 있다. 델리게이트는 테이블뷰의 시각적인 부분 수정, 행의 선택 관리, 액세서리뷰 지원 그리고 테이블뷰의 개별 행 편집을 도와준다.(링크 참고) 시각적인 부분이 포인트! UITableViewDelegate 프로토콜의 주요 메서드는 여기를 참고하..

iOS 2020.11.29

[iOS] AutoLayout Self-Sizing(채팅 말풍선은 어떻게 레이아웃을 잡았을까?)

01. 공부하게 된 계기..라벨에서 이런 문제점이 우리는 이렇게 라벨에서 글자가 넘어가는 것을 막기 위해서 이러한 제약조건을 걸곤 한다. 근데 이렇게 됐을 때 문제가 발생한다. 내가 글을 쓰는 이유이기도 한..! 몇글자 안되더라도 규칙을 따라야하기 때문에 불필요한 공간을 차지하게 된다. 물론, 글자수와 관계없이 항상 규칙을 따라야할 때에는 이 방법이 좋은 방법이겠지만 글자수에 맞는 유동적인 모양을 갖춰야 할 때에는 최상의 방법은 아닐 것이다. 02. Greater Than or Equal && Less Than or Equal 불필요한 공간을 없애기 위해 이러한 속성을 이용하면 된다. 그래서 이게 무슨 속성이냐면.. 그냥 직역을 해보면 Greater Than or Equal: ≥(같거나 크다) Less ..

iOS 2020.10.30

iOS) ScrollView에서 최상단으로 가는 버튼

ScrollView를 사용할 때에 페이지의 내용이 많아지게 되어서 스크롤이 길어지게 되면 아이폰을 사용하는 유저들은 상태바를 터치함으로써 최상단으로 가는 방법을 사용한다. 하지만 그 방법 외에 어플 내에서 그러한 기능을 하는 버튼을 구현할 수 있다. 내가 사용한 방법은 이렇다. STEP 1 먼저 scrollViewDidScroll에서 scrollview를 사용하기 위해 UIScrollViewDelegate를 채택해준다. class ViewController: UIViewController,UIScrollViewDelegate { code } STEP 2 다음으로 ScrollView와 위로가기 버튼에 대해서 각각 Outlet변수를 생성 해준다. @IBOutlet weak var scrollView: UIS..

iOS 2020.10.30

iOS) presentingViewController

01. 정의 presentingViewController의 정의를 살펴보면 다음과 같다. 내용을 직역해보자면 presentingViewController를 사용하면 무조건 바로 직전 화면으로 돌아가는 것이 아니라 가장 마지막으로 present시켜준 당사자 View로 전환이 된다는 것이다. 02. 조금 더 직관적으로 보자면, Blue >present> Yellow >present> Orange > navigation push > Green일 때, Green에서 presentingViewController를 통해 dismiss한다면 바로 전 화면인 Orange가 아닌 가장 마지막에 present로 넘겨준 Yellow로 이동하게 된다. 03. 시뮬레이션 이 presentingViewController를 활용하..

iOS 2020.10.30

iOS) Xcode 변수명 변경을 쉽게 하는 방법

개발을 하다보면 변수명을 수정해야하는 일들이 발생합니다. 만약 스토리보드를 사용하여 개발 중이라면 Outlet이나 Action등의 이름을 바꾸는 일이 번거로운 작업이기도 해요 그래서 변수명을 보다 더 간편하게 바꿀 수 있는 방법을 포스팅하고자 합니다. 01. IBOutlet, IBAction 클릭 후 아래 좌측 사진과 같이 Control(^) + Drag&Drop을 할 때에 만약 만든 것이 실수로 만들어 졌거나 혹은 만든 @IBOutlet, @IBAction의 이름을 수정하고 싶을 때에는 그냥 바꾸면 안됩니다! 실수로 만들어졌다고 임의로 코드만 삭제하거나 변수 명을 연결 후에 임의로 수정하게 되면, 해당 요소를 우클릭 해 보았을 때 컴포넌트의 레퍼런스들이 의도치 않게 여러 개 생겨 있는 것을 목격하게 됩..

iOS 2020.10.30