【发布时间】:2016-05-16 10:55:22
【问题描述】:
我在第一个控制器中有 tableView,我正在使用 xib 中定义的 tableviewcells 来制作它。现在,当我单击一个 tableviewcell 时,我需要打开一个当前视图控制器并将 tableviewcell 的视图传递给第二个视图控制器。
我在第二个视图控制器中使用了一个 init 方法,并将第一个 VC 的 cell.contentView 传递给了第二个 VC。
工作正常 tableviewcell 内容视图显示在 2ND VC 第一个表格部分,但是当我按下靠近 2nd VC 时。TableViewCell 内容视图从第一个 VC 消失。
我做不到。我在网上看到他们说在第二个 VC 上再次注册 XIB,或者使用存档和取消存档,但这些都是耗时的操作,我只想将 tableviewcell 内容视图传递给第二个 vc,当我关闭第一个 VC 时,我希望它回到那里.
任何帮助将不胜感激。
View是按下的tableview单元格的cell.contentView
self.superViewCell = View;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
HVAPParentTableViewCell * cell = [[HVAPParentTableViewCell alloc] init];
[cell.contentView addSubview:self.superViewCell];
return cell;
}
【问题讨论】:
-
不不不!!!!不要这样做!!!重新思考你的设计模式!
-
这似乎是一个相当奇怪的结构。我的建议是:1-如果您需要视图的图像/表示,您应该截取屏幕截图并将其传递。 2 - 如果您需要该视图的功能,您将传递一个包含所需信息的变量(例如字典)并在下一个视图控制器上构建视图。但是,您不应该传递内容视图。
-
我应该如何截屏并传递它?这是我在第二个 vc 中需要的一个小视图
-
哇……太好了……我在问一个我认为是真实的问题,而你们却反对……让我知道为什么?
标签: ios objective-c iphone uitableview uiviewcontroller