Day 17 UItableView的练习 (1/3)

上次做过调色盘的练习,对基本的东西有一些认识之後我们开始继续往下练习~

其实TableViewy我们很常碰到,从手机里的设定,到line聊天一行行的那种,都可以叫做tableview

我们来做一点有关Table View的练习

首先建立一个专案,建立好後去我们的Main.storyboard

把Table View 拉到我们的SuperView里面,然後再把Table View Cell 拉进去,然後我们点选Table View Cell,右边菜单有个Identifier,取名叫做cell

(这个Identifier是叫做储存格识别码,是用来做记忆体管理的)

然後到去ViewController.swift,在class ViewController里,新增UITableViewDataSource,UITableViewDelegate,这两个协定

设置@IBOulet跟dataSource

  @IBOutlet var tableview: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        tableview.dataSource = self
}

(别忘记到Main.storyboard建立连结)

新增好後,我们在底下新增两个function,一个是
"numberOfRowsInSection"
这段意思是:总共有多少个Row在Section之中

我们假设他是 3个Row

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 3
    }

第二个要新增的function是"cellForRowAt"
这段意思是:每个Row显示的Cell为何

每笔资料显示的Cell:(随便你打,我这边是打123)

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    cell.textLabel?.text = "123"
    return cell
}

最後补充一下Section,通常UItable View预设值就是一个Section,我们没有特别去定义他,就只会出现一个Section,假设我们要新增3个Section,我们可以用下列程序码完成:

func numberOfSections(in tableView: UITableView) -> Int {
    return 3
}

不过这样不够明显,我们可以为每个Section增加标头文字:

  func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return "section \(section)"
    }

好了之後应该会看到以下画面:

基本到这边,我们就对UITable View有一定基本的认识,下一篇我们来讲一些其他的功能~


<<:  [DAY-15] 认知科学中的成功之路

>>:  如果一件事情够重要,那麽即便所有条件都与你作对,你仍应该要做。

[Day22] Scrum失败经验谈 – 承认就是陨石吧!

我就像是鬼遮眼一样,竟然会认为陨石不陨石,说个笑话,我还突发奇想的说,这次开发是「流星」开发,超级r...

Day22. 当苹果掉到牛顿头上,牛顿被敲醒了 - Gravity

一开始到现在,虽然我们没有特别提到,物体就那麽自然的向下掉,就像苹果掉到牛顿头上的自然,这背後的理所...

Ruby on Rails Controller

第 1 步 - 新增 Route 别忘了,使⽤者想要看到你网站上的内容,第⼀步是要问过 Route,...

Flutter体验 Day 10-表单组件

表单组件 使用表单处理使用者输入是常见的应用的基础功能,使用这些表单组件可以应用在注册、登入、电商…...

[day-23] Python-基本认识回圈!(Part .2)

前情堤要   上次我们已经对回圈做了基本的介绍,那这次我们要接着继续下去,还有..我知道我这个速度很...