UIScrollView์ ContentInset, ContentOffset, ContentSize์ ๋ํด์ ์์๋ณธ๋ค.
ํต์ฌ ์์ฝ
ContentOffset, ContentInset, and ContentSize of a UI ScrollView์ ์ข์ ์ฌ์ง์ด ์์ด ๊ณต์ ํ๋ค.
ContentInset
- safe area ํน์ scrollView์ ๊ฐ์ฅ ์๋ฆฌ๋ก๋ถํฐ ์ด๋์ ๋ ๋จ์ด์ ธ์๋์ง๋ฅผ ์ง์ ํ ์ ์๋ ๊ฐ
- ์ฆ, ์ฌ๋ฐฑ
ContentOffset
- ์คํฌ๋กค ๋ทฐ์ ์์ ์ผ๋ก ๋ถํฐ ์ปจํ ์ธ ๋ทฐ์ ์์ ์ด ์ด๋์ ๋ ๋จ์ด์ ธ ์๋๊ฐ?
- ์ฆ, ์คํฌ๋กค๋ ์ง์
- ์ด ๊ฐ์ด bounds๋ ๊ด๋ จ์ด ์์ ์ ๋ฐ์ ์๋ค.
scrollView.setContentOffset(CGPoint(x: .zero, y: 50), animated: true)
scrollView.bounds.y = -50
- ์ ๋๊ฐ๋ ๊ฐ์ ๊ฒ์ด๋ค. ๊ฐ์ ํ์์ ๋ฌด์์ ์ฃผ์ด๋ก ํ์ฌ ๊ฐ์ ๋งค๊ธฐ๋์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํ๊ธฐ๋๋ ๊ฒ.
- contentView ์ ์ฅ์์ Offset ๊ฐ๊ฒฉ ์์๋ก ๋งค๊ธฐ๊ธฐ๋ฅผ ๋ฐ๋
- bounds๋ ๋ด๋ถ์ ์ขํ๊ณ์ ์์ ์ ์๋ฏธํจ
- ์ขํ๊ณ์ ์์น๊ฐ ์ฌ๋ผ๊ฐ์ผ ์ปจํ ์ธ ๋ ์๋์ ์ผ๋ก ์๋์ ์์นํจ == ์์
- ํท๊ฐ๋ฆฐ๋ค๋ฉด Frame & Bounds๋ฅผ ์ฐธ๊ณ ํ์.
ContentSize
- ScrollView๋ ๋น์ฐํ ์คํฌ๋กคํ๋ ค๊ณ ์ฐ๋ ๊ฒ์ด๋ค.
- ๊ทธ๋ ๋ค๋ฉด ํ๋ฉด์ ๋ณด์ด๋ ๊ฒ๋ณด๋ค ์ค์ ์ปจํ ์ธ ์์ญ์ด ๋ ๊ธธ๋ค๋ ๋ง์ด๋ค.
- ์ด๋ฌํ ์์ญ ์์ฒด๋ฅผ ๋ด๋ถ์ ์ผ๋ก ๊ฐ๊ณ ์์ ๊ฒ์ด๋ฉฐ, ์ด๊ฑธ ์ค์ ํ๋ ๊ฒ์ด contentSize์ด๋ค.