在界面设计器中,我有一个非常简单的设置。主视图(表格单元格视图)有四个子视图,所有兄弟姐妹: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;
}
答案 0 :(得分:0)
好吧,这对我来说非常愚蠢......我将UIImageView的标记设置为0然后使用viewWithTag:0
来查找该视图。然而,父视图也有标记0,所以不是我的背景UIImageView,整个单元格被设置为图像(我不会认为表格单元格视图会响应setImage
- 但它那样。
我现在将UIImageView上的标签更改为5 - 而且一切都是hunky-dory。