iOS/Swift

[iOS] UITableView์—์„œ ์ œ์Šค์ฒ˜ ์‚ฌ์šฉํ•˜๊ธฐ / ์ด์Šˆ์ •๋ฆฌ

๊ฒฝํ‘ธ 2023. 7. 20. 01:05
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”~ 

์˜ค๋Š˜์€ UITableView์— ์ œ์Šค์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Tabman์ด๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ UITableView๊ฐ€ ์žˆ๋Š” View์—์„œ๋Š”

UITableView ์ž์ฒด์˜ ์„ธ๋กœ ์Šคํฌ๋กค ์ œ์Šค์ฒ˜ ๋•Œ๋ฌธ์—

ํƒญ ๊ฐ„์˜ ์ „ํ™˜์ด ๋˜์ง€ ์•Š๋˜ ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์›์ธ 

iOS์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  View๋Š” ํ•˜๋‚˜์˜ ์ œ์Šค์ฒ˜๋งŒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

UITableView์—์„œ๋Š” ๊ฐ€๋กœ๋ฐฉํ–ฅ์˜ ์ œ์Šค์ฒ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ UITableView์—๋Š” ์„ธ๋กœ๋กœ ์Šคํฌ๋กค์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ œ์Šค์ฒ˜๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

์ผ๋‹จ ์ฝ”๋“œ๋ถ€ํ„ฐ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeGesture(_:)))
swipeGesture.direction = UISwipeGestureRecognizer.Direction.right
swipeGesture.delegate = self
tableView.addGestureRecognizer(swipeGesture)

extension MyViewController: UIGestureRecognizerDelegate {
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

1. ๊ฐ€์žฅ ๋จผ์ € UITableView์— ์ถ”๊ฐ€ํ•  UISwipeGestureRecognizer๋ฅผ ์„ ์–ธํ•˜๊ณ  ์Šค์™€์ดํ”„ ๋ฐฉํ–ฅ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

2. ๋‹ค์Œ delegate ๋Œ€๋ฆฌ์ž๋ฅผ ์„ค์ •ํ•˜๊ณ  ํ…Œ์ด๋ธ”๋ทฐ์— ํ•ด๋‹น ์ œ์Šค์ฒ˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

UIGestureRecognizerDelegate์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ™•์ธํ•ด ๋ณด๋ฉด

shouldRecognizeSimultaneouslyWith otherGestureRecognizer๊ฐ€ ๋ณด์ด์‹ค ๊ฒ๋‹ˆ๋‹ค.

์ฆ‰, ํ˜„์žฌ MyViewController์—์„œ ๋‹ค๋ฅธ ์ œ์Šค์ฒ˜์™€ ํ•จ๊ป˜ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์ œ์Šค์ฒ˜๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๊ฑฐ๋‚˜ ํ˜น์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ true๋กœ ์„ค์ •ํ•ด ์ฃผ๊ฒŒ ๋˜๋ฉด UItableView์—์„œ๋Š” ๊ฐ€๋กœ๋ฐฉํ–ฅ์˜ ์Šคํฌ๋กค๋„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ handleSwipeGesture ๋ฉ”์„œ๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋ฉด์„œ ํƒญ ๊ฐ„ ์ „ํ™˜์ด ๋˜์ง€ ์•Š๋˜ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค : )

๋„์›€์ด ๋˜์…จ์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”.

๊ทธ๋Ÿผ ์ด๋งŒ ๐Ÿ’ช๐Ÿป๐Ÿ’ช๐Ÿป

๋ฐ˜์‘ํ˜•