[iOS/UI] ํ ์ด๋ธ๋ทฐ ํน์ ์ธ๋ฑ์ค๋ก ๋ฐ๋ก ์ด๋ํ๊ธฐ(UITableView scrollToRow)
์๋ ํ์ธ์ 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)
}
}
|