我有一个表视图控制器,包含5个部分的静态单元格。当点击该部分第一行中的UISegmentedControl对象时,我想在其中一个部分添加第二行(值更改操作函数)。我没有这方面的数据源,因为我只打算使用新行来显示文本字段。此时我只想看到一个带动画的空行,以便我可以稍后以编程方式添加文本字段。每当我点击分段控件时,iOS模拟器都会崩溃。没有错误消息。 Xcode 7 iOS 9.我查找了对类似查询的其他回复,但无法确定问题。任何帮助赞赏。我的代码如下。谢谢!
class MyTableViewController: UITableViewController, UITextFieldDelegate {
// init with 1 row in section 3 of table view. This row contains the segment
// control object
var rowsInMySection = 1
// index path for new row (second row) to be added to section 3
var indexPath1 = NSIndexPath(forRow: 1, inSection: 3)
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 5
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var rows = 1
if section == 3 {
rows = rowsInMySection
}
else {
rows = 1
}
return rows
}
@IBAction func segmentControlTapped(sender: UISegmentedControl) {
if(segmentControl.selectedSegmentIndex == 1)
{
self.tableView.beginUpdates()
self.tableView.insertRowsAtIndexPaths([indexPath1],
withRowAnimation : UITableViewRowAnimation.Automatic)
self.rowsInMySection = 2
self.tableView.endUpdates()
}
}
答案 0 :(得分:1)
你回答了自己的问题。您有一个静态tableView
,因此根据定义,它无法添加或删除。