gpt4 book ai didi

ios - 如何使用标记按钮和自定义类检测 tableView 的 indexPath

转载 作者:行者123 更新时间:2023-11-28 09:00:50 28 4
gpt4 key购买 nike

我想做的是:我有一个带有表的 View Controller ,该表由一个名为 protoCell 的自定义类控制。这是我的 ViewController 代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("pCell", forIndexPath: indexPath) as! protoCell

return cell

}

此表的输出只有 3 行和两个按钮。这些按钮由自定义类控制,这里是相关代码:

//
// protoCell.swift
// Handling Cells

import UIKit

class protoCell: UITableViewCell {

var isPressed = [0, 0]

@IBOutlet var button: UIButton!

@IBAction func buttonPress(sender: AnyObject) {

if isPressed[sender.tag] == 0 {

isPressed[sender.tag] = 1

} else {

isPressed[sender.tag] = 0

}

println(isPressed)

}

}

我将按钮映射到相同的按下操作并由标签管理。按下按钮时,它会标记按下的是哪个按钮。在主 ViewController 中,我想知道按下了哪些按钮以及哪一行(因为按钮会根据用户点击的行对应不同的值)。

我在这里搜索了很多,但找不到如何在使用自定义类管理单元格时执行此操作。

如有任何帮助,我们将不胜感激。

最佳答案

这对我有用。我和你有类似的要求。

//Create a variable in your class for indexPath
var customIndexPath: NSIndexPath = NSIndexPath()

//Set the value of indexPath to customIndexPath in your tableView function
customIndexPath = indexPath


// You can use this customIndexPath as given in the examples below:
self.array.removeAtIndex(customIndexPath.row)
self.tableName.reloadSections(NSIndexSet(index: customIndexPath.section), withRowAnimation: UITableViewRowAnimation.Fade)
self.tableName.deleteRowsAtIndexPaths([customIndexPath], withRowAnimation: UITableViewRowAnimation.Top)

我用过类似的方法

func btnOKClicked(sender:UIButton) {
if sender.tag == 1
{
self.tabBarController!.tabBar.userInteractionEnabled = true
println("Successful")
}
else if sender.tag == 2
{
self.tabBarController!.tabBar.userInteractionEnabled = true
self.tableName.reloadSections(NSIndexSet(index: customIndexPath.section), withRowAnimation: UITableViewRowAnimation.Fade)
self.activityIndicator.stopAnimating()

}
else if sender.tag == 3
{
self.tabBarController!.tabBar.userInteractionEnabled = true
var labelone = self.stringArray[customIndexPath.row]
self.deleteFromLocal(labelone)
self.arrary2.removeAtIndex(customIndexPath.row)

self.tableName.deleteRowsAtIndexPaths([customIndexPath], withRowAnimation: UITableViewRowAnimation.Top)

self.tableName.reloadSections(NSIndexSet(index: customIndexPath.section), withRowAnimation: UITableViewRowAnimation.Fade)

}

println("customIndexPath : customIndexPath :::::::\(customIndexPath)")



println("btnOKClicked")
}

希望这可能对您有所帮助。

关于ios - 如何使用标记按钮和自定义类检测 tableView 的 indexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32071554/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com