微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自定义单元格/表格视图

如何解决自定义单元格/表格视图

我正在尝试学习 tableView 和自定义单元格。我找到了一些教程。
但是,当用户编辑信息时,我需要能够将信息从一个单元格转到另一个单元格。
我在实现像 Alert 视图这样的代码以在单元格上工作时也遇到了问题,即使知道它正在视图控制器上工作。

有人可以指导我学习教程吗,因为我很难找到。

解决方法

正如我在评论中所说的,你在一个问题中提出了太多问题,无论如何这是一个小型 TableView 教程:

首先,你需要创建你的tableview:

var tableView: UITableView!

然后您将其添加到您的视图中:

//Put these in your view did load
//Change tose vaues as you please
tableView = UITableView(frame: CGRect(x: 0.0,y: 0.0,width: UIScreen.main.bounds.width,height: 400),style: .plain)
view.addSubview(tableView)

因此您需要注册单元格:

tableView.register(UITableViewCell.self,forCellReuseIdentifier: "MyCell")  //Choose the identifier you want but always use the same within a single Table view

您必须设置委托和数据源:

//put these in your view did load
tableView.delegate = self
tableView = self

并且您的类将需要符合这些协议,因此,您将向其中添加 UITableViewDelegate 和 UITableViewDataSource:

class MyViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{}

因此,您还必须设置协议存根:

//Here you'll decide the number of cells your tableView will have
func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {}
//Here you'll decide the desired output of your cell (text,color ecc...)
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    //You have to create the cell first,it can be done as follows:
    let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell",for: indexPath) //Notice how I'm using the same identifier
    return cell
}

还有很多其他协议存根,例如:

//Use this to determine the behaviour of the cell when you tap it
func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {}
//Use this to set the cell's height
private func tableView(tableView: UITableView,heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat{}

您可以在苹果文档中找到更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。