繁体   English   中英

Tableview 到另一个视图控制器

[英]Tableview to another viewcontroller

我有一个名为“firstViewcontroller”的控制器,其中我有一个名为“discoveredInstanceTableView”的UITableView 我想将该UITableView加载到另一个名为“secondViewcontroller”的UIViewController

我使用了下面的代码,但它不起作用,它说找不到属性“discoveredInstanceTableView”......任何人请帮助我:

在第一个视图控制器中:

  IBOutlet UITableView *discoveredInstanceTableView;

在第二个视图控制器中:

 firstViewcontroller *vc1 = [[firstViewcontroller alloc]initWithNibName:@"firstViewcontroller" bundle:nil];

    [self addChildViewController:vc1];
    [self.myTableview addSubview:vc1.discoveredInstanceTableView];

仅当您想知道为什么上述内容不起作用时,您所问的内容才有效答案是

您正在做一些不允许的事情,根据文档,这是无法完成的。 但是,如果我们忘记了正确的错误方法,您可能会添加一个表视图作为表视图本身的子视图,并且我确定您将表视图传递给可能未分配的表视图。

首先想想UITableView是怎么工作的? 它只是一个在其单元格上显示内容的 ScrollableView。

最终会建议您阅读有关TableView 的信息

编辑:从上面的评论

重要提示:您不应在 UIScrollView 对象中嵌入 UIWebView 或 UITableView 对象。 如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆并错误处理。» 由于 UITableView 是一个 UIScrollView,这也适用于这里。

在 SecondViewController 中显示 TableView 的可能替代方法

  • 使用@Rajath Kornaya 的答案 在我看来,这不是正确的方法,因为每当您需要像点击单元格这样的回调操作时,您想要显示警报(或其他内容),您都无法在 SecondViewController 中获得委托回调

但是还有很多其他正确的方法可用,您应该跟进。

  • 以编程方式或通过 XIB/故事板单独创建一个 TableView

  • 向当前 SecondViewController 添加委托和数据源(当发生有趣的事情时响应的方法,例如 Cell 将填充称为cellForRowAtIndexPath

  • 定义所有必需的数据源方法并编写适当的代码。

  • 如果您需要在单元格点击上执行某些操作,请添加特定的委托方法。

但是,如果您想重用 FirstViewController 类 TableView,只需创建一个 CustomView 并在其中添加 TableView,然后将该视图添加到每个视图控制器类中即可。

希望可以帮到你!!!

在 viewcontroller2 中声明

@property (nonatomic, strong) UITableView *table;

在 viewcontroller1 中创建表

tableView=[[UITableView alloc]initWithFrame:CGRectMake(10, 10, 250, 300) style:UITableViewStylePlain];
[self.view addSubview:tableView];
tableView.backgroundColor=[UIColor greenColor];

在调用 viewcontroller2 时将表传递给 viewcontroller2

  ViewController2 *v2=[[ViewController2 alloc]init];
  v2.table=tableView;
  UINavigationController *navigation=[[UINavigationController alloc]initWithRootViewController:v2];
  [self presentViewController:navigation animated:YES completion:nil];

在 viewcontroller2 中使用全局变量访问表

[self.view addSubview:self.table];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM