-1

到了这一点,我有自定义单元格,里面有 2 个标签和 1 个文本字段。标签和文本字段都从用户那里得到输入。我还有其他包含 uitableview 的视图。我的问题是如何在 uitableview 中填充单元格?请帮忙。

这是我在 tableviewcontroller 中的代码。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1; // i want to populate this using 'count' but i dont know how.
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:[CustomCell reuseIdentifier]];
    if (cell == nil)
    {
        [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = _customCell;
        _customCell = nil;
    }       
    cell.titleLabel.text = [NSString stringWithFormat:@"%@",titleTextString];
    cell.timerLabel.text = [NSString stringWithFormat:@"%@",timerString];
    cell.statusLabel.text = [NSString stringWithFormat:@"%@",statusString];

    return cell;    
}

如果在用户完成输入后按下添加按钮,我如何填充我的表格视图?如果你不介意帮我写代码,请。我是初学者,我很难通过使用意见来理解。

4

1 回答 1

1

如果我正确理解了您的问题,那么您为包含 2UILabel和 1的单元格做了一个自定义 nib 文件UITextField,并且您希望在填充表格时访问这些对象。以下是针对此问题的一些步骤:

首先,您必须为tag自定义单元格中的每个对象指定一个数字。您可以在 Interface Builder 的 Attribute Inspector 中找到此属性。假设您给第一个标签标签 1、第二个标签 2 和文本字段 3。

其次你要给一个。此 nib 文件的标识符,例如MyCustomCellIdentifier. 此标识符稍后将在包含该表的视图中使用,以便您可以链接到它。

第三,同样在自定义单元格 nib 中,单击表示文件所有者的黄色方块,然后在身份检查器中将类更改为具有将使用此自定义单元格的表的类名。

第四,在您拥有将使用自定义单元格的表的类中,创建一个类型为 的插座UITableViewCell。我们将在自定义笔尖单元格中链接它。

第五,转到自定义 nib 单元格,单击单元格窗口,然后在 Connections Inspector 中将 New Referencing Outlet 链接到 File's Owner,您将看到您在此处显示的表类中创建的插座,只需链接到它即可。

现在,由于建立了连接,事情变得更加容易,在cellForRowAtIndexPath函数中(在包含表的类中),您必须从 nib 文件中加载自定义单元格,如下所示:

static NSString *tableIdentifier = @"MyCustomCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableIdentifier];
if(cell == nil)
{
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TheNibClassNameOfYourCustomCell" owner:self options:nil];
    if([nib count] > 0) cell = theNameOfTheOutletYouUsed;
    else NSLog(@"Failed to load from nib file.");
}

好的,您的自定义单元格已加载到变量中cell,现在您必须从您创建的标签中访问其中的每个对象:

UILabel *label1 = (UILabel *)[cell viewWithTag:1];
UILabel *label2 = (UILabel *)[cell viewWithTag:2];
UITextField *textField1 = (UITextField *)[cell viewWithTag:3];

现在您可以通过label1,label2textField1轻松访问所有内容label1.text = @"Hi";

我希望这回答了你的问题。

于 2012-07-29T10:05:00.497 回答