我想在最后一个点击单元上方创建重复的表格视图单元,其中包含最后一个点击单元的数据。但这只发生在从下到上的视图中。如果我更改顺序,它将返回错误的值。这是我的代码。
- (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];
}
}
答案 0 :(得分:0)
这是我的故事板中ViewController的层次结构。
这是我的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)
返回一个固定值。您应该将数据添加到提供表格的数据上,而不要自己手动将单元格添加到表格中。该表应该管理单元格本身,您不必自己添加任何单元格。