0

在界面设计器中,我有一个非常简单的设置。主视图(这是一个表格单元格视图)有四个子视图,都是兄弟:UIImageView和三个UILabels。我正在使用 UIImageView 来显示表格行的背景。我将它设置为 UIImageView 位于 z-index 树的最后面,并将其 alpha 设置为 0.2 以使图像变暗 - UILabel 正在检查它。

如果我在界面设计器的设计时将图像设置到 imageview 中,那么一切都很好,但是如果我在设计时将图像设置到 imageview 中(我从服务器接收到实际图像),那么 imageview alpha 设置是忽略,图像以 alpha = 1 显示,uiimageview 显示在所有标签上。我什至尝试使用[parent sendSubviewToBack:imageView],但它没有帮助。

我错过了什么?这是我显示表格行的整个代码。

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[NSBundle mainBundle] loadNibNamed:@"OOItemInfoCell" owner:self options:nil] lastObject];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }

    OOXMLNode *infoNode = [searchItemList objectAtIndex:indexPath.row];
    [(UILabel *)[cell viewWithTag:2] setText:[itemNode elementNodeWithKey:@"title"].value];
    [(UILabel *)[cell viewWithTag:3] setText:[itemNode elementNodeWithKey:@"intro"].value];
    [(UILabel *)[cell viewWithTag:4] setText:[NSString stringWithFormat:kThemeAge,
                                          [itemNode elementNodeWithKey:@"theme"].value,
                                          [itemNode elementNodeWithKey:@"age"].value]];

    UIImageView *bgview = (UIImageView *)[cell viewWithTag:0];
    [bgview setImage:[itemNode imageFromKey:@"background"]];
    [cell sendSubviewToBack:bgview];

    return cell;
}
4

1 回答 1

0

好的,这对我来说很愚蠢......我将 UIImageView 的标签设置为 0,然后viewWithTag:0用于查找该视图。然而,父视图也有标签 0,所以不是我的背景 UIImageView,而是整个单元格被设置为图像(我不认为表格单元格视图会响应setImage- 但它确实响应了。

我现在将 UIImageView 上的标签更改为 5 - 一切都是 hunky-dory。

于 2012-05-22T14:52:49.793 回答