UIImageView z-index问题

时间:2012-05-22 14:44:21

标签: iphone uiimageview z-order tablerow

在界面设计器中,我有一个非常简单的设置。主视图(表格单元格视图)有四个子视图,所有兄弟姐妹:UIImageView和三个UILabel。我使用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;
}

1 个答案:

答案 0 :(得分:0)

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

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