作者:蒓子2502883107 | 来源:互联网 | 2023-09-18 17:00
在创建一个普通TableView时,上方为todo框,右方为button,下方为UITableView。在参考链接中,我将第一个视频(视频中使用的是Tabbar进行输入数据转换的),自己
在创建一个普通TableView时,上方为todo框,右方为button,下方为UITableView。
在参考链接中,我将第一个视频(视频中使用的是Tabbar进行输入数据转换的),自己就将他们结合到了一起。
出现的问题是:
1 2 3 4 5 6
| if editingStyle == UITableViewCellEditingStyle.delete{
ToDos.remove(at: IndexPath.row)//删除行
ToDoTableView.reloadData()//重载数据
}
} |
中的
1
| ToDos.remove(at: IndexPath.row)//删除行 |
代码如下。
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| import UIKit
var ToDos = [String]()//定义行的字符串为ToDos
class ToDoViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{
@IBAction func AddToDo(_ sender: Any)//添加文字内容
{
if (ToDoTextField.text != "")
{
ToDos.append(ToDoTextField.text!)
ToDoTextField.text = ""
//清除文字,键盘消失
ToDoTextField.text = ""
ToDoTextField.resignFirstResponder()
}
}
@IBOutlet var ToDoTextField: UITextField!
@IBOutlet var ToDoTableView: UITableView!
//在Tableview里添加的行数,每个分区的行数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (ToDos.count)
}
// 显示cell内容
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = UITableViewCell(style:UITableViewCellStyle.default,reuseIdentifier:"cell")
cell.textLabel?.text = ToDos[indexPath.row]
return cell//返回cell
}
//编辑TableView:删除以及插入
func tableView(_ tableView: UITableView, ccomit editingStyle: UITableViewCellEditingStyle, forRowIndexPath:IndexPath){
if editingStyle == UITableViewCellEditingStyle.delete{
ToDos.remove(at: IndexPath.row)//删除行
ToDoTableView.reloadData()//重载数据
}
}
/*else if editingStyle == UITableViewCellEditingStyle.insert{
ToDos.insert(at: indexPath.row)//插入行
ToDoTableView.reloadData()//重载数据
}
}*/
override func viewDidAppear(_ animated: Bool) {
ToDoTableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
//实现上拉缩小大标题,大标题显示模式:自动
navigationItem.largeTitleDisplayMode = .automatic
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
} |
其次参考的,是根据学习软件Py中iOS UserInterface这一章也是制作的Todo。
参考链接:
How To Create A ToDo List App In Xcode