将选择器更改为表视图或在同一视图上有多个表视图

Posted

技术标签:

【中文标题】将选择器更改为表视图或在同一视图上有多个表视图【英文标题】:changing a picker to table view OR having multiple table views on the same view 【发布时间】:2010-05-29 03:10:15 【问题描述】:

由于我使用了选择器,我的 iPad 应用程序被拒绝了。选择器用于控制表格视图。 In my view, a picker was displaying a series of items and when one of those items was selected, it used that selection to populate a table with data. (希望这是有道理的)。现在我需要在没有选择器的情况下执行此操作,因此我需要在表视图中表示选择器中的数据。

我的问题是,我如何在同一个视图中有多个 tableViews?

是否像这样为每个 tableview 设置单独的委托方法一样简单?

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView1


    return [xxx count];



-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView2


    return [yyy count];


【问题讨论】:

我不认为这可能是原因。苹果在回复邮件中是否告诉了任何内容?通常苹果会指定拒绝的原因。 是的,他们说选择器只能在弹出视图中使用,这不是我正在做的。 什么理由! UIPickerView 的文档中从未指定过。 事后我确实在 iPad 指南中找到了它。它甚至是粗体,大声笑“仅在弹出框内显示选择器或日期和时间选择器。” 【参考方案1】:

委托方法的名称是固定的。所以你可以

    使用两个不同的委托实例,或者

    标识方法中的表,例如

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
        if (tableView.tag == 114)
          return [xxx count];
        else
          return [yyy count];
    
    

【讨论】:

我是个菜鸟,你能扩展一下“使用两个不同的委托实例”吗? @Brodie:例如,您创建@interface A@interface B,然后将tableA.dataSource 分配给A 的实例,将tableB.dataSource 分配给B 的实例。

以上是关于将选择器更改为表视图或在同一视图上有多个表视图的主要内容,如果未能解决你的问题,请参考以下文章

同一视图中的多个图表IOS图表

SQL 如何查询指定架构中所有表(或视图)的名称

无法将查询另存为视图表

从视图表中获取数据时出现 Laravel 错误

只读SAS视图(双击也是如此)

如何在主视图的行选择上更新详细视图的表视图或在详细视图中加载新视图?