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๋ค์ ์ ์ ํ ์ฑํํด์ ์ ํ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค~
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] iOS Concurrency - 1. GCD/Operation, ๋๊ธฐ/๋น๋๊ธฐ, ์ง๋ ฌ/๋์ (0) | 2023.02.11 |
---|---|
[iOS] Rx์์ด ๊ตฌํํ๋ MVVM๊ธฐ์ด (0) | 2023.02.09 |
[iOS] UIButton.Configuration ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2023.02.07 |
[iOS] ์ ํ๋ฆฐ์์ Xcode ์ปฌ๋ฌ์์ ๋ฐ๋ก ์ถ์ถ (0) | 2023.02.05 |
[iOS] navigationController.present()๋ฅผ ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น? (0) | 2023.01.06 |