Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

UIKit30

13 - Dynamic Scroll View 이전 다이나믹 스택뷰를 떠올리며 스크롤뷰와 합쳐서 만들어 보자. 근데.. 위치가 너무 들락날락 거린다 ㅋㅋㅋ 디버거를 통해 확인해 보자. 아하.. 버튼 스택뷰가 위아래로 늘어나 버린 것 같다. 스택뷰의 정렬이 Center로 되어 있었다. 따라서 Fill로 바꿔준다. 잘 동작한다. :) [학습 소스] 공식문서, 야곰 오토레이아웃 정복하기 강의 https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html https://yagom.net/courses/autolayout/ 2023. 4. 1.
12 - Scroll Views 앱에서 굉장히 많이 쓰이는 스크롤뷰 기존과 비슷하게 화면을 꽉 채우기 위해서 View에 마진 없이 제약을 걸어주면 아래와 같은 빨간 줄이 생긴다... 스크롤뷰 위에 뷰를 하나 올리고 뷰를 스크롤뷰의 각 엣지에 맞게 정렬해주기 (Top, Leading, Bottom, Trailing 각 0으로) 그리고 위아래로만 스크롤 하기 위해서 스크롤뷰와 뷰(컨텐츠 영역)의 너비를 같게 해준다. 이후 컨텐츠뷰 안에 원하는 뷰(여기서는 레이블)을 넣고 Top,Leading,Bottom 제약을 걸어준다. 왜 이런 방식으로 ? 스크롤뷰가 움직여야 하는 전체 사이즈는 스크롤 뷰 내에 있는 콘텐츠 사이즈와 같음. 스크롤뷰 안에 컨텐츠가 없으면 안된다는 의미! (스크롤뷰 프레임 자체가 아니라 내부 컨텐츠 사이즈가 지정되지 않아서.. 2023. 4. 1.
11. Safe Area , Layout Margins https://developer.apple.com/documentation/uikit/uiview/positioning_content_relative_to_the_safe_area Positioning content relative to the safe area | Apple Developer Documentation Position views so that they aren’t obstructed by other content. developer.apple.com Safe Area Safe Area아는 말 그대로 컨텐츠가 표시되기에 안전한 영역이다.(홈버튼, 가장자리 등 제외) 기본적으로 제공되는 Safe Area 영역이 있지만, 필요에 따라 Safe Area를 (기본 설정과)다르게 설정해 줄 수도 있.. 2023. 3. 27.
10. Size Class ? 'provide a rough indication of the element's size' 즉 대략적인 사이즈를 말하는 것이다. (+버튼을 눌러야 나오기도 하고, 현업에서 자주 사용하는 기능은 아니라고 들었다.) 한 스토리보드로 아이폰/아이패드 둘 다 구현해야 하는 경우 사용할 수 있는데.. 그냥 각각 스토리보드 관리하는게 일반적일 것이다. 또한 아이패드에서 스플릿뷰를 구현해야 할 때 참고해야 할 수도 있다. 위와 같이 Width, Height, Gamut, idiom을 선택 할 수 있고, 사이즈는 Compact/Regular가 있다. 각 기기별로 설정이 어떻게 되어 있는지 정확히 알기 위해서는 HIG의 Layout파트를 살펴보면 된다. HIG는 앱을 만들고 디자인 할 때 어떻게 하면 되는지?에 관한 원.. 2023. 3. 27.
9. Dynamic Stack View_ Code 애플 하면 부드러운 애니메이션 아니겠는가.. 스택뷰를 코드로 작성해 보고, 애니메이션을 통해 부드럽게 추가/제거 하는 연습을 해봤다. (애니메이션을 적용하지 않으면 그냥 툭 툭 뷰가 추가/제거 된다. 별로 보기 안좋다.) 아래는 .gif라 좀 끊기지만 시뮬레이터에서는 부드럽게 잘 작동한다. // // StackViewController.swift // codeLayout // // Created by Toughie on 2023/03/27. // import UIKit class StackViewController: UIViewController { var vertical: UIStackView = UIStackView() override func viewDidLoad() { super.viewDidLo.. 2023. 3. 27.
8. 코드로 오토레이아웃 잡기 Layout Anchor를 활용해 코드로 오토레이아웃을 잡아보자. Anchor 장점: 코드의 간결성, 컴파일 할 때 오류를 쉽게 발견할 수 있음.(x,y축 헷갈릴 수가 없음) (Anchor에서 제네릭을 사용하고 있기 때문에 가능함) 우측 방식으로도 할 수 있다.(NSLayoutConstraint.activate)_ 밑에서 활용 예시 더(original) 사실 스토리보드에서 설정했던 것들을 그저 코드를 통해 그대로 표현했다고 생각하면 편하다. 다만 이대로 하면 홈버튼 기계에서 이상하게 나올 것이다..(맨 우측과 같이) 코드로 레이아웃을 잡을 때 양수/음수 구분을 잘 해주자.(이에 따른 상관관계도) priority default가 1000이라 굳이 안써도 되지만 직접 값을 세팅해주고 싶으면 아래와 같이 할 .. 2023. 3. 26.