wift - frame과 bounds의 차이
소개
첫 투고이지만 부드럽게 부탁드립니다 ~
그런데, frame과 bounds의 차이에 대해 상당히 최근 겨우 알았던, 기록해 둘까라고 생각합니다.
frame이란?
frame은 superview가 기준으로 상대적인 좌표와 크기를 반환하는 속성입니다.
bounds란?
bounds는 요소 자신이 기준으로 상대적인 좌표와 크기를 반환하는 속성
코드로 이해
sample.swiftlet yellowView: UIView = UIView()
yellowView.backgroundColor = UIColor.yellow
yellowView.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
self.view.addSubview(yellowView)
// Yellow ViewのFrameとBoundsをプリントアウト
print("Yellow View Frame: \(yellowView.frame)") // Frameをプリントアウト
print("Yellow View Bounds: \(yellowView.bounds)") // Boundsをプリントアウト
결과는 다음과 같습니다.
bounds는 자신이 기준이므로 특별히 설정하지 않은 경우 x, y 모두 0입니다.
이미지로 이해
bounds를 설정하면 어떻게 됩니까?
yellowView에 redView를 추가하고 yellowView의 바운드 x, y를 (-20,-20)으로 설정합시다.
sample2.swiftlet redView: UIView = UIView()
redView.backgroundColor = UIColor.red
redView.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
yellowView.addSubview(redView)
print("Red View Frame: \(redView.frame)")
print("Red View Bounds: \(redView.bounds)")
결과는 다음과 같습니다.
또, yellowView의 바운드의 x, y를 (-20,-20)로 해 봅시다.
sample3.swiftyellowView.bounds = CGRect(x: -20, y: -20, width: 100, height: 100)
실행해보면
원인은, yellowView의 원점 좌표는 (-20,-20)가 되어, redView의 원점 좌표는 (0,0)인 채이므로, redView는 우하로 이동해 버렸습니다.
Reference
이 문제에 관하여(wift - frame과 bounds의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Wesley-chu/items/7004ca681bcbcc9b3650
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
frame은 superview가 기준으로 상대적인 좌표와 크기를 반환하는 속성입니다.
bounds란?
bounds는 요소 자신이 기준으로 상대적인 좌표와 크기를 반환하는 속성
코드로 이해
sample.swiftlet yellowView: UIView = UIView()
yellowView.backgroundColor = UIColor.yellow
yellowView.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
self.view.addSubview(yellowView)
// Yellow ViewのFrameとBoundsをプリントアウト
print("Yellow View Frame: \(yellowView.frame)") // Frameをプリントアウト
print("Yellow View Bounds: \(yellowView.bounds)") // Boundsをプリントアウト
결과는 다음과 같습니다.
bounds는 자신이 기준이므로 특별히 설정하지 않은 경우 x, y 모두 0입니다.
이미지로 이해
bounds를 설정하면 어떻게 됩니까?
yellowView에 redView를 추가하고 yellowView의 바운드 x, y를 (-20,-20)으로 설정합시다.
sample2.swiftlet redView: UIView = UIView()
redView.backgroundColor = UIColor.red
redView.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
yellowView.addSubview(redView)
print("Red View Frame: \(redView.frame)")
print("Red View Bounds: \(redView.bounds)")
결과는 다음과 같습니다.
또, yellowView의 바운드의 x, y를 (-20,-20)로 해 봅시다.
sample3.swiftyellowView.bounds = CGRect(x: -20, y: -20, width: 100, height: 100)
실행해보면
원인은, yellowView의 원점 좌표는 (-20,-20)가 되어, redView의 원점 좌표는 (0,0)인 채이므로, redView는 우하로 이동해 버렸습니다.
Reference
이 문제에 관하여(wift - frame과 bounds의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Wesley-chu/items/7004ca681bcbcc9b3650
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sample.swift
let yellowView: UIView = UIView()
yellowView.backgroundColor = UIColor.yellow
yellowView.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
self.view.addSubview(yellowView)
// Yellow ViewのFrameとBoundsをプリントアウト
print("Yellow View Frame: \(yellowView.frame)") // Frameをプリントアウト
print("Yellow View Bounds: \(yellowView.bounds)") // Boundsをプリントアウト
결과는 다음과 같습니다.
bounds는 자신이 기준이므로 특별히 설정하지 않은 경우 x, y 모두 0입니다.
이미지로 이해
bounds를 설정하면 어떻게 됩니까?
yellowView에 redView를 추가하고 yellowView의 바운드 x, y를 (-20,-20)으로 설정합시다.
sample2.swiftlet redView: UIView = UIView()
redView.backgroundColor = UIColor.red
redView.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
yellowView.addSubview(redView)
print("Red View Frame: \(redView.frame)")
print("Red View Bounds: \(redView.bounds)")
결과는 다음과 같습니다.
또, yellowView의 바운드의 x, y를 (-20,-20)로 해 봅시다.
sample3.swiftyellowView.bounds = CGRect(x: -20, y: -20, width: 100, height: 100)
실행해보면
원인은, yellowView의 원점 좌표는 (-20,-20)가 되어, redView의 원점 좌표는 (0,0)인 채이므로, redView는 우하로 이동해 버렸습니다.
Reference
이 문제에 관하여(wift - frame과 bounds의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Wesley-chu/items/7004ca681bcbcc9b3650
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yellowView에 redView를 추가하고 yellowView의 바운드 x, y를 (-20,-20)으로 설정합시다.
sample2.swift
let redView: UIView = UIView()
redView.backgroundColor = UIColor.red
redView.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
yellowView.addSubview(redView)
print("Red View Frame: \(redView.frame)")
print("Red View Bounds: \(redView.bounds)")
결과는 다음과 같습니다.
또, yellowView의 바운드의 x, y를 (-20,-20)로 해 봅시다.
sample3.swift
yellowView.bounds = CGRect(x: -20, y: -20, width: 100, height: 100)
실행해보면
원인은, yellowView의 원점 좌표는 (-20,-20)가 되어, redView의 원점 좌표는 (0,0)인 채이므로, redView는 우하로 이동해 버렸습니다.
Reference
이 문제에 관하여(wift - frame과 bounds의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Wesley-chu/items/7004ca681bcbcc9b3650텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)