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

[iOS/UI] ํ…Œ์ด๋ธ”๋ทฐ ํŠน์ • ์ธ๋ฑ์Šค๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜๊ธฐ(UITableView scrollToRow)

by Fomagran ๐Ÿ’ป 2020. 9. 14.
728x90
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š” Foma์ž…๋‹ˆ๋‹ค !!

 

์˜ค๋Š˜์€ ํ…Œ์ด๋ธ”๋ทฐ์—์„œ ํŠน์ • ์ธ๋ฑ์Šค ์œ„์น˜๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ฐ€๋” ํ…Œ์ด๋ธ”๋ทฐ์— ์ด๋™ํ• ๋•Œ ๋ฐ”๋กœ ๋ช‡๋ฒˆ์งธ section ๋˜๋Š” row์ธ ์…€์ด ๋–ด์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ 

 

์—ด์‹ฌํžˆ ๊ตฌ๊ธ€๋งํ•œ ๊ฒฐ๊ณผ UITableView์— scrollToRow ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ”๋กœ ์Šคํฌ๋กค๋ง์ด ๋˜๋ฉด์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์ž ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค !

 

๋จผ์ € ํ…Œ์ด๋ธ”๋ทฐ์™€ ํ…Œ์ด๋ธ”๋ทฐ์…€๊ณผ ๊ทธ ์•ˆ์— ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋ ˆ์ด๋ธ” ์›ํ•˜๋Š” ์ธ๋ฑ์Šค๋กœ ์ด๋™ํ•  ๋ฒ„ํŠผ์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•ด ํ…Œ์ด๋ธ”๋ทฐ์˜ row ๊ฐฏ์ˆ˜์™€ row์˜ ์…€์„ ์ •ํ•ด์ค๋‹ˆ๋‹ค.

๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ์›ํ•˜๋Š” ์ธ๋ฑ์Šค๋กœ ์ด๋™ํ•˜๋„๋ก ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. 

์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด indexPath ์ƒ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์–ด ์›ํ•˜๋Š” row๋ฅผ ์ ์–ด์ฃผ๊ณ  

์•„๋ž˜ ํ˜„์žฌ ํ…Œ์ด๋ธ”๋ทฐ์— scrollToRow๋ฅผ ์ด์šฉํ•˜์—ฌ indexPaht๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์™„์„ฑํ•œ ๋’ค ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋Œ๋ ค๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์›ํ•˜๋Š” ์ธ๋ฑ์Šค๋กœ ์Šคํฌ๋กค๋˜๋ฉด์„œ ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!!

์ „์ฒด์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import UIKit
 
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
    
    
    @IBOutlet weak var item: UIBarButtonItem!
    @IBOutlet weak var table: UITableView!
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int-> Int {
        30
    }
 
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = table.dequeueReusableCell(withIdentifier: "TableViewCell"as! TableViewCell
        cell.label.text = "\(indexPath.row)"
        return cell
    }
    
    override func viewDidLoad() {
  
    }
  
    @IBAction func tapItem(_ sender: Any) {
     let indexPath:IndexPath = IndexPath(row: 15, section: 0)
        self.table.scrollToRow(at: indexPath, at: .none, animated: true)
 
    }
    
    
}
 

 

ํ…Œ์ด๋ธ”๋ทฐ์…€

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import UIKit
 
class TableViewCell: UITableViewCell {
 
    @IBOutlet weak var label: UILabel!
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }
 
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
 
    }
 
}

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€