objective-c - 如何从 UITableViewCell 推送 View

标签 objective-c ios uitableview

我有一个 UITableViewController,它有我用自己的子类自定义的自定义单元格。 在这个子类中,我添加了一个按钮,我想将一个 View 推送到导航 Controller 的堆栈中。我不知道该怎么做,因为我不知道如何从我的自定义单元格访问导航 Controller 。

有什么想法吗?

最佳答案

此处需要更多信息。什么类持有表,什么类是 TableView 委托(delegate)?

在最简单的情况下,您在一个类(class)工作。而不是 [self.navigationController pushViewController: xyz]

但是如果您有自己的子类 UITableViewCells,那么您需要在单元类和 View Controller 之间进行通信。您可以通过在单元格类或您自己的 customCell 委托(delegate)中设置属性来完成此操作。

你也可以只发送一个通知([[NSNotificationCenter defaultCenter] postNotification: @"cellButtonTouchedNotification"])你的viewController正在监听([[NSNotificationCenter defaultCenter] addListener: self target : @selector(...) 名称:@"cellButtonTouchedNotification"])。在这种情况下,您可以使用 userInfo 属性来记住触摸了哪个单元格。

另一种方法是使按钮可以从外部访问(例如属性)。然后您可以在 tableViewDelegate 的方法 cellForRowAtIndexPath: 中添加目标。 …像 [myCustomCell.button addTarget: self selector: @selector(...)]; 你可以使用标签来识别行 myCustomCell.button.tag = indexPath.row .

关于objective-c - 如何从 UITableViewCell 推送 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616114/

相关文章:

iphone - 从url中提取图像数组

ios - 使用 Objective-C 从不同的 ViewController 重新加载 TableView

ios - 旋转后改变棋盘颜色

ios - 为什么在 iOS 6 中分配新图像时 UIImageView 会调整大小?

ios - 在 Swift 的 TableView 中使用 segue 发送标签文本数据

objective-c - 对于 10.7 中构建的应用程序,10.5 中未显示上下文菜单

iOSOpenDev命令行工具构建报错

ios - 我怎么知道为什么我的 UIViewController 消失了?

iphone - 如何从表格 View 中删除分隔符?

ios - UITableView 与单元格中的图像卡住