0

我有一个 UITableViewController,它有自己的 tableview。但我仍然想要另一个 UITableView,其数据源和委托在另一个类中。

症状是:iPhone 4.0 无法显示 UITableView ,而 iPhone 6.0 Simulator 可以以可见且正确的方式显示此 UITableView 。

NSLog 告诉我 UITableView 在 iPhone 上的高度是 0.0。

问题是:我将获得第二个 UITableView

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;`

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

没有任何反应...

4

1 回答 1

0

你可以试试这个。

为 UITableView 创建两个对象。

numberOfRowsInSection 部分执行此操作

  • (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {

    如果(tableView == tblLog)返回 3;//或其他任何值返回2;}

CELLFORROWATINDEX 部分执行此操作。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    UILabel *headingLabel;
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
        cell.backgroundColor = [UIColor whiteColor]; 
    }

    if(tableView == tblLog)
    {
        switch (indexPath.row)
        { 
            case 0:
            {
                //do something

            } break;

            case 1:
            {
               //do something

            } break;
        }

    }
    else if (tableView == tblRange)
    {
        switch (indexPath.row)
        { 
            case 0:
            {
                //do something
            }break;

            case 1:
            {
                //do something
            }break;
        }
    }

    return cell;
}

让我知道这是否有帮助

于 2012-10-25T07:28:27.413 回答