Youngminah/TIL

frame 과 bounds의 차이

Youngminah opened this issue · 1 comments

frame과 bounds

  • UIView의 instance property

frame

애플 개발자 문서 frame

  • The frame rectangle, which describes the view’s location and size in its superview’s coordinate system.
  • SuperView(상위뷰)의 좌표시스템안에서 View의 위치와 크기를 나타낸다.

bounds

애플 개발자 문서 bounds

  • The bounds rectangle, which describes the view’s location and size in its own coordinate system.
  • 상위뷰와 아무런 상관이 없으며, 오직 자신이 기준인것

예제

현상태
image


bounds 바꿔보기!

scrollView.bounds.origin.x = 300
scrollView.bounds.origin.y = 500

image

  • ScrollView의 Bounds를 바꿨지만, 스크롤뷰 입장에서는 이미지가 왼쪽 상단으로 올라온 것 처럼 보이는 것
  • 질문 : 왜 subView의 origin을 바꿔줬는데, 그 안에 있던 imageView가 움직이느냐?
  • 답변 : Bounds는 상위뷰 안에서의 좌표가 아닌 "자신만의 좌표시스템"을 가진다.
  • Bounds를 변경하는 것은 해당 위치에서 View를 다시그리라는 의미가 된다.
  • Bounds는 상위뷰와 아무런 관련이 없으므로, subView는 움직이지 않는 것 처럼 보이고 그
  • 안에있던 imageView가 움직이는 것 처럼 보이는 것

frame 바꿔보기!

scrollView.frame.origin.x = 100
scrollView.frame.origin.y = 100

참고자료