如何仅在特定单元格中显示文本?

时间:2016-02-04 04:24:13

标签: ios swift

我有一个填充的数组,我可以在tableview中显示,但我想隐藏3个单元格文本(7个单元格中)。我知道下面的代码是错误的,但在这种情况下我只想在单元格0中显示文本。

<ng-content>

3 个答案:

答案 0 :(得分:1)

因为你没有代码,所以我只能用文字描述它应该如何完成。

  1. 您需要拥有一系列不想要显示的不需要的文字。

  2. 在你的cellForRowAtIndexPath中,你需要一个for循环,通过animalarray,并在for循环中,有一个if-else语句来检查是否(unwantedtext) == animalarray),然后cell!.textLabel.text = " "

  3. 你需要告诉我代码,以帮助你。

答案 1 :(得分:1)

我会尝试在目标C中帮助你,希望我可以使逻辑清晰,语言差异并不重要。

通常,您在ViewController的下面委托方法中告诉TableView要为每个单元格打印什么。

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    cell.textLable.text = animalArray[indexPath.row];

    return cell;
}

您可以在这里决定使用或不想打印的animalArray中的哪个索引。如果您的要求是静态的,最简单的是对阻塞进行硬编码。

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

    if(!(indexPath.row == self.indexIDontWantToPrint)) {
        cell.textLable.text = animalArray[indexPath.row];
    }

    return cell;
}

如果您不想打印的索引是动态的,请通过说出数组提交给您 您需要替换if(!(indexPath.row == self.indexIDontWantToPrint))并检查indexPath.row是否在您要忽略的索引数组中。

NSArray有一个方便的containsObject方法,可以用来检查数组是否包含tableView想要打印的当前索引。注意indexPath.row的类型差异是NSInteger,而NSArray需要携带NSNumber来表示简单的数字。

答案 2 :(得分:0)

添加比jo3birdtalk更有效的逻辑

1)您可以创建一个包含字符串&amp;的对象,而不是使用额外的数组。 Bool。在animalarray

中添加这些对象

2)从indexpath&amp;中的数组中获取对象检查
if(animal.isShow == YES),如果是,则显示文本,否则隐藏标签或设置空白字符串,无论您需要什么

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
 Animal * animal = animalArray[indexPath.row];
     if(animal.isShow == YES)
    {
         show the text
     }else
    {
        hide label Or set blank string whatever you requered
    } 

    return cell;
}