表格视图中的重复行

时间:2019-11-18 05:34:35

标签: ios objective-c

我想在最后一个点击单元上方创建重复的表格视图单元,其中包含最后一个点击单元的数据。但这只发生在从下到上的视图中。如果我更改顺序,它将返回错误的值。这是我的代码。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

     UITableViewCell *lastTapCell;
     lastTapCell = [_tableView cellForRowAtIndexPath:indexPath];
    _txtDetailStr = lastTapCell.textLabel.text;
    _lastTapCellIndexPath = [NSIndexPath indexPathForRow:indexPath.row  inSection:indexPath.section];

}

- (void)createDuplicateText:(UILongPressGestureRecognizer *)press {

    if (press.state == UIGestureRecognizerStateBegan) {

        [_stringArray addObject:_txtDetailStr];
        [_tableView insertRowsAtIndexPaths:@[_lastTapCellIndexPath] withRowAnimation:UITableViewRowAnimationRight];

    }

}

2 个答案:

答案 0 :(得分:0)

这是我的故事板中ViewController的层次结构。

enter image description here
这是我的viewcontroller swift文件的结构。

false

}

这是我的tableviewCell文件的结构。

class LocationVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tblLocation: UITableView!

var selectedCells:[IndexPath] = []
var selectedCell: IndexPath?

override func viewDidLoad() {
    super.viewDidLoad()
}

func selectCell(indexPath: IndexPath) {
    selectedCell = indexPath
    self.tblLocation.reloadData()
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell : LocationCell = tableView.dequeueReusableCell(withIdentifier: "LocationCell") as! LocationCell
    cell.lblCell.text = String(indexPath.row)
    if selectedCells.count > 0 {
        if indexPath.row == selectedCell!.row - 1 {
            cell.lblCell.text = String(selectedCell!.row)
        }
    }
    return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    selectedCells.append(indexPath)
    self.selectCell(indexPath: indexPath)
}

答案 1 :(得分:0)

您的func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)返回一个固定值。您应该将数据添加到提供表格的数据上,而不要自己手动将单元格添加到表格中。该表应该管理单元格本身,您不必自己添加任何单元格。