๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS/UI

[iOS/UI] UICollectionView ์Šคํฌ๋กคํ•˜๋ฉด ์„œ์น˜๋ฐ” ์ˆจ๊ธฐ๊ธฐ

by Fomagran ๐Ÿ’ป 2019. 12. 26.
728x90
๋ฐ˜์‘ํ˜•

์ฝœ๋ ‰์…˜๋ทฐ๋ฅผ ์Šคํฌ๋กคํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋‚ด๋Š” ๊ฑด scrollViewDidScroll์ด๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์“ฐ๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    //์ฝœ๋ ‰์…˜๋ทฐ์˜ ํ•˜์œ„ํด๋ž˜์Šค๊ฐ€ ์Šคํฌ๋กค๋ทฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฝœ๋ ‰์…˜๋ทฐ ๋”œ๋ฆฌ๊ฒŒ์ดํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
    func scrollViewDidScroll(_ scrollView: UIScrollView) {


        let actualPosition = scrollView.panGestureRecognizer.translation(in: scrollView.superview) //์Šคํฌ๋กค ์•„๋ž˜์ธ์ง€ ์œ„์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํฌ์ง€์…˜
           if (actualPosition.y > 0){ // ์•„๋ž˜๋กœ ๋‚ด๋ฆฐ ๊ฒƒ
        searchheight.constant = 38 //searchbarheight๋ฅผ 38๋กœ ๋ฐ”๊ฟˆ
                  UIView.animate(withDuration: 0.5) { //0.5์ดˆ ๋™์•ˆ ๋ฐ”๋€Œ์–ด๋ผ
                      self.view.layoutIfNeeded() //๋ ˆ์ด์•„์›ƒ ์—…๋ฐ์ดํŠธ ํ•ด์ค˜
           }
           }
           else{ //๋ฐ˜๋Œ€ ์œ„๋กœ ์˜ฌ๋ฆฐ ๊ฒƒ
            searchheight.constant = 0
                             UIView.animate(withDuration: 0.5) {
                                 self.view.layoutIfNeeded()
        }
          
    }
    }

์Šคํฌ๋กค์„ ์œ„๋กœํ•˜๋ฉด ์„œ์น˜๋ฐ”๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ์•„๋ž˜๋กœํ•˜๋ฉด ๋‹ค์‹œ ๋ณด์ด๊ฒŒ ์„ค์ • ์™„๋ฃŒ!

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€