如何从UIView复制和检索数据,其中包含许多UITextviews

时间:2013-11-17 04:20:02

标签: ios uiview clone

我正在努力了解创建类似内容的最佳方法:

UIViews

我想知道如何克隆UIViews并从上面的UITextViews中检索每个数据。 我在这里使用故事板,是否可以通过添加容器视图来完成?

谢谢!

更新

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

[tableView registerClass: [TitleCell class] forCellReuseIdentifier:@"Title"];
TitleCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Title" forIndexPath:indexPath];

switch (indexPath.row) {
    case 0:
        cell.leftLabel.text = @"Title";
        //cell.labelRight.text = self.theData[indexPath.section][@"Title"];
        break;
    case 1:
        cell.leftLabel.text = @"FirstName";
        //cell.labelRight.text = self.theData[indexPath.section][@"FirstName"];
        break;
    case 2:
        cell.leftLabel.text = @"LastName";
        //cell.labelRight.text = self.theData[indexPath.section][@"LastName"];
        break;

    default:
        break;
}
   return cell;
}

现在没有返回错误,但奇怪的是它没有显示leftLabel文本。

Table View

是的我正在使用故事板。

1 个答案:

答案 0 :(得分:1)

实现它的最佳方法是使用UITableView,您不需要“克隆”任何东西。您发布的图像看起来像带有部分的表视图,每个部分有5行。每个单元格都有两个标签,一个位于左侧,带有固定文本,另一个位于右侧,带有您将从数据源填充的数据。这是一个每节有3行的例子。数据源是一个包含键,Title,FirstName和LastName的字典数组。

self.theData = @[@{@"Title":@"Mr",@"FirstName":@"Joe",@"LastName":@"Montana"},@{@"Title":@"Dr",@"FirstName":@"Julius",@"LastName":@"Irving"},@{@"Title":@"Mr",@"FirstName":@"Alex",@"LastName":@"Smith"}];

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

    RDCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    switch (indexPath.row) {
        case 0:
            cell.labelLeft.text = @"Title";
            cell.labelRight.text = self.theData[indexPath.section][@"Title"];
            break;
        case 1:
            cell.labelLeft.text = @"FirstName";
            cell.labelRight.text = self.theData[indexPath.section][@"FirstName"];
            break;
        case 2:
            cell.labelLeft.text = @"LastName";
            cell.labelRight.text = self.theData[indexPath.section][@"LastName"];
            break;

        default:
            break;
    }
    return cell;
}