콩벌레 개발자의 개발 공부 노트
close
프로필 배경
프로필 로고

콩벌레 개발자의 개발 공부 노트

    • 분류 전체보기 (233)
      • 일상 (7)
        • 일상 이야기 (4)
      • Web (17)
        • Spring Boot (6)
        • CSS (3)
        • HTML (2)
        • JSP (0)
      • R (4)
      • Algorithm (88)
        • 백준 (67)
        • 프로그래머스 (19)
      • ICT COG Academy (8)
        • AI 기본 (8)
      • 계산이론 (6)
      • 데이터 베이스 (1)
      • IOT 네트워크 (1)
      • iOS (63)
        • RxSwift (2)
        • swift (15)
        • 앱 개발 (31)
        • 보안 (1)
        • UIKit (10)
        • SwiftUI (3)
      • 클린 아키텍처 (7)
      • 클린 코드 (3)
      • 컴퓨터 구조 (14)
      • 네트워크 (10)
      • 자료구조 (0)
      • 운영체제 (2)
      • 안드로이드 (0)
      • 개발 (0)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록
UIScrollView의 작동 방식과 Frame Layout Guide, Content Layout Guide, contentOffset

UIScrollView의 작동 방식과 Frame Layout Guide, Content Layout Guide, contentOffset

UICollectionView, UITableView는 프로젝트를 진행할 때 매우 많이 사용하고, 이 둘은 UIScrollView를 상속하고 있다. UIScrollView도 많이 사용해 보긴 했지만... 쓸 때마다 정확히 알아보지도 않고 사용해서 테이블 뷰의 페이징 기능을 구현해 보려고 할 때 좀 정확하게 알아야겠다 싶어서 알아보게 되었다. UIScrollView의 작동 방식 UIScrollView는 UIView와 크게 다르지 않다. frame이 있고, bounds가 있다. frame은 해당 뷰의 원점이 해당 뷰의 원점으로부터 얼만큼 떨어졌는지를 좌표계로 나타낸 것이고, bounds는 자기 자신의 원점을 기준으로 좌표계로 나타낸 것이다. 이때 부모뷰의 bounds의 원점을 변경 하면 자식뷰의 frame이..

  • format_list_bulleted iOS/UIKit
  • · 2023. 8. 13.
  • textsms
UIView와 CALayer

UIView와 CALayer

iOS에서 화면에 보이는 모든 것들은 UIView를 서브클래싱 하고 있다. 이런 UIView의 생김새를 변경하거나 어떤 효과를 줄 때 layer를 통해 작업을 수행한다. cornerRadius, shdow, Animation 등 의 작업할 때 항상 layer가 등장한다. layer가 무엇이길래 UIView와 함께 자주 등장할까? UIView의 layer 공식문서에서는 렌더링에 사용되는 CoreAnimation의 layer (CALayer) 이고, view는 이 layer의 delegate라고 한다. UIView는 하나 이상의 layer를 가지고 있다고 한다. 렌더링은 무엇이고, CoreAnimation은 어떤 것이고, CALayer은 어떤 클래스이며 CALayerDelegate가 무엇이길래 UIView가..

  • format_list_bulleted iOS/UIKit
  • · 2023. 7. 26.
  • textsms
CAShapeLayer, CABasicAnimation을 이용하여 버튼 누를 시 원이 그려지는 애니메이션 + 애니메이션이 완료되었을 때 원하는 작업 수행하기

CAShapeLayer, CABasicAnimation을 이용하여 버튼 누를 시 원이 그려지는 애니메이션 + 애니메이션이 완료되었을 때 원하는 작업 수행하기

CAShapeLayer: 좌표 공간에서 벡터 기반의 경로를 그릴 수 있습니다. 그린 경로를 이용하여 여러가지 작업을 할 수 있으며, 이를 애니메이션을 이용해 표현 할 수 있습니다. CABasicAnimation: 레이어를 대상으로 단일 키프레임 애니메이션 기능을 제공해주는 객체 입니다. 누를 시 감싸는 애니메이션 생성 커스텀 버튼 생성 class LongPressGestureButton: UIButton { } 애니메이션을 넣을 CAShapeLayer 생성 class LongPressGestureButton: UIButton { let sliceLayer = CAShapeLayer() } 애니메이션 생성. UIBezierPath를 이용해 어떤식으로 그릴건지 정의. 그 후 CABasicAnimation 생..

  • format_list_bulleted iOS/UIKit
  • · 2023. 6. 1.
  • textsms
뷰가 화면에 그려지는 과정 - Constraints, Layout

뷰가 화면에 그려지는 과정 - Constraints, Layout

코드로 버튼을 생성하고 cornerRadius를 적용해 둥글게 만드려고 했는데, 적용되지 않았던 이슈가 있었다. 내가 알고 있던 것은 cornerRadius가 적용 안 되는 이유는 레이아웃이 아직 완전히 잡히질 않아서인데 ViewDidAppear에서 버튼을 add 하고, cornerRadius 세팅하는 함수를 호출하고 있어서 레이아웃이 아직 잡히질 않았을 리가 없어서 의아해서 해결 방법을 찾아보니, 레이아웃이 모두 잡혔을 때에서 호출되는 viewDidLayoutSubviews()에 호출하니 정상적으로 적용 되었다. ViewDidAppear일 때도 레이아웃이 모두 잡혀있을 텐데 왜 적용이 안될까 라는 궁금증이 생겨, 뷰가 화면에 그려지는 과정에 대해 알아보았다. 뷰가 화면에 그려지는 과정은 크게 3가지로 ..

  • format_list_bulleted iOS/UIKit
  • · 2023. 4. 28.
  • textsms
  • 1
  • 2
공지사항
카테고리
  • 분류 전체보기 (233)
    • 일상 (7)
      • 일상 이야기 (4)
    • Web (17)
      • Spring Boot (6)
      • CSS (3)
      • HTML (2)
      • JSP (0)
    • R (4)
    • Algorithm (88)
      • 백준 (67)
      • 프로그래머스 (19)
    • ICT COG Academy (8)
      • AI 기본 (8)
    • 계산이론 (6)
    • 데이터 베이스 (1)
    • IOT 네트워크 (1)
    • iOS (63)
      • RxSwift (2)
      • swift (15)
      • 앱 개발 (31)
      • 보안 (1)
      • UIKit (10)
      • SwiftUI (3)
    • 클린 아키텍처 (7)
    • 클린 코드 (3)
    • 컴퓨터 구조 (14)
    • 네트워크 (10)
    • 자료구조 (0)
    • 운영체제 (2)
    • 안드로이드 (0)
    • 개발 (0)
최근 글
인기 글
최근 댓글
태그
  • #앱개발
  • #2023
  • #스탠포드 강의
  • #uikit
  • #부트캠프
  • #IOS
  • #8기
  • #변경된 점
  • #swift
  • #edwith
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바