Total 45

[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