[iOS] ์คํฌ๋กค ์ ํ์์ ๋ํ๋๊ฒ ํ๊ธฐ
CollectionView๊ฐ ์คํฌ๋กค ๋๋์ง ํ์ ํด์ ํน์ ๋ทฐ๋ฅผ ๋์ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค!
์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ๋จ ์คํฌ๋กค์์ ๊ณ ์ ๋์ด์๋ ์๋จ ๋ก๊ณ ๋ทฐ์ ์คํฌ๋กค ๋๋ ์์ญ ์ฌ์ด์ ํ์์ ์ด ๋ํ๋๋๋ก ํ๋ ํ๋จ๊ณผ ๊ฐ์ ๋ทฐ๋ฅผ ๊ตฌํํ์ด์ผํ๋๋ฐ์!

์ฒ์์ ํฌ์ ์ค์ฒ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ธ๊ฐ ๊ณ ๋ฏผํ์ง๋ง ์ ๋ง ์๊ฐ๋ณด๋ค ์ฌ์ด ์์ ์ด์์ต๋๋ค.
1. CollectionvView๋ฅผ ๊ฐ์ง๊ณ ์๋ ViewController๊ฐ UIScrollViewDelegate๋ฅผ ์ฑํ ํ๋๋ก ํฉ๋๋ค.
extension MainViewController: UIScrollViewDelegate{
}
2. scrollViewDidScroll ํจ์๋ฅผ ๊ตฌํํด์ค๋๋ค.
์คํฌ๋กค์์ ๋ด๋ถ์ ์ผ๋ก ํธ์ถ ๋๋ ํจ์์ธ
func scrollViewDidScroll(_ scrollView: UIScrollView)
๋ฅผ ํ๋จ ์ฒ๋ผ ๊ตฌํํด์ฃผ๋ฉด ๋ฉ๋๋ค!
extension MainViewController: UIScrollViewDelegate{
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y > 0{
grayLine.isHidden = false
}else{
grayLine.isHidden = true
}
}
}
์คํฌ๋กค๋ทฐ์ contentOffset์ ์คํฌ๋กค์ด ์์ ๋๋ฉด
vertical ์คํฌ๋กค ์ผ๊ฒฝ์ฐ scrollView.contentOffset.y ๊ฐ์ด,
horizontal ์คํฌ๋กค ์ผ ๊ฒฝ์ฐ scrollView.contentOffset.x์ ๊ฐ์ด 0์์ ์์ํ์ฌ ์ ์ ์ปค์ง๋๋ฐ์
์ ๊ฐ ์คํฌ๋กคํ ๋ทฐ๋ vertical scrollview์ด๊ธฐ ๋๋ฌธ์ scrollView.contentOffset.y๊ฐ 0๋ณด๋ค ํฐ ์ํ์ธ์ง ์๋์ง ์ ํ์์ ์ด ๋ณด์ด๋๋ก isHidden ๊ฐ์ด ๋ณ๊ฒฝ ๋๋๋ก ๊ตฌํํ์์ต๋๋ค~~
์ด์ธ์๋ UIScrollView์ ๋ค์ํ delegate๋ค์ ์ ์ ํ ์ฑํํด์ ์ ํ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค~