iphone - 如何知道 UITableview 的行号

标签 iphone ios uitableview uiswitch

我有一个 UITableViewCellUISwitch 作为每个单元格的附件 View 。当我更改单元格中开关的值时,如何知道开关在哪一行?我需要开关值更改事件中的行号。

最佳答案

标签、子类或 View 层次导航工作量太大!。在您的操作方法中执行此操作:

CGPoint hitPoint = [sender convertPoint:CGPointZero toView:self.tableView]; 
NSIndexPath *hitIndex = [self.tableView indexPathForRowAtPoint:hitPoint];

适用于任何类型的 View 、多节表,无论您可以使用什么 - 只要您的发件人的来源在单元格的框架内(感谢 rob!),这通常是这种情况。

它在 UITableView Swift 扩展中:

extension UITableView {
    func indexPath(for view: UIView) -> IndexPath? {
        let location = view.convert(CGPoint.zero, to: self)
        return self.indexPathForRow(at: location)
    }
}

关于iphone - 如何知道 UITableview 的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274494/

相关文章:

iphone - 荷兰 iPhone 设置应用程序内的“区域格式”和 'Language'

ios - UITableViewCell 与 UIView 中的 UIButton 性能对比

ios - 从 Tableview 更新 Viewcontroller 中的标签文本

ios - 如何将 NSArray 转换为整数值

iphone - ios开发如何解析xml

ios - CoreBluetooth 背景 - 如何重新实例化 appdelegate 中的中央管理器对象?

iphone - UITableView - 如何在用户滚动时保持表行固定

ios - SwiftUI中的.transition修饰符

iphone - 向 UITableView 添加附件

c++ - 使用opencv进行图像边缘平滑