【发布时间】:2016-03-05 10:56:53
【问题描述】:
【问题讨论】:
-
您要将其标题更改为所选单元格名称的按钮在哪里?
-
所以您想在单击单元格时返回根视图控制器?
-
是的,顺便改个按钮名
标签: ios swift uitableview uibutton
【问题讨论】:
标签: ios swift uitableview uibutton
@IBOutlet
tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath。在这里您可以通过[tableView cellForRowAtIndexPath:indexPath] 获取您的手机
[cell.yourButton setTitle...]
【讨论】:
如果您要将导航控制器放入根视图控制器,并将您希望从中访问按钮的视图控制器作为其顶部视图控制器,那么您可以在点击单元格时执行以下操作:
if let topVC = navigationController?.topViewController as? MyButtonViewController {
topVC.button1Name.setTitle("New Title", forState: .Normal)
}
然后您可以使用以下命令隐藏顶部视图控制器上的导航栏:
override func viewWillAppear(animated: Bool) {
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(animated: Bool) {
navigationController?.setNavigationBarHidden(false, animated: animated)
}
【讨论】:
您可以使用单个 NavC,然后使用两个按钮作为根视图控制器来制作视图控制器,而不是使用两个导航控制器。然后,当按下按钮时,您会加载适当的表格视图控制器。此外,如果您的表视图控制器具有相同的数据源,那么您可以使用单个表视图控制器本身。
然后根据按下的按钮,您按下适当的表格视图控制器,但在prepareForSegue 中跟踪按下了哪个按钮,以便您可以在表格视图控制器中选择单元格时更改其标题。
要从表格视图控制器传递选定的单元格详细信息,您可以使用视图控制器可以实现的委托,表格视图控制器将调用并传递选定的单元格详细信息。
所以简而言之就是这样做。
didSelectRowWithIndexPath 中,使用委托传递选定的单元格信息并弹出视图控制器。我在这里上传了另一个解决方案。除了具有两个按钮的 ViewController 之外,它不包含任何自定义视图控制器。它利用 segues 和 unwind segues。
【讨论】: