我有一个 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/