代码之家  ›  专栏  ›  技术社区  ›  rickharrison

为什么UITableViewCell backgroundView会模糊图像

  •  0
  • rickharrison  · 技术社区  · 16 年前

    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"packagelistcell_background.png"]];
    [imageView setFrame:CGRectMake(0, 0, 300, 81)];
    self.backgroundView = imageView;
    [imageView release];
    

    当它显示在屏幕上时,图像会稍微模糊。为了进行测试,我在表视图上方放置了一个直接的UIImageView,图像看起来完美而清晰。表视图是一个分组的表视图。你知道为什么会模糊图像吗?

    3 回复  |  直到 16 年前
        1
  •  1
  •   freytag    16 年前

    我认为该单元已调整大小,背景视图也已调整。

    尝试

    imageView.autoresizingMask = UIViewAutoresizingNone;
    
        2
  •  0
  •   Stefan Arentz    16 年前

        3
  •  0
  •   Fede Mika    15 年前

    不幸的是@freytag的解决方案对我不起作用。

    UIImageView *imgView = [[UIImageView alloc] initWithImage:@"cellBackground.png"];
    UIView *backgrContainer  = [[UIView alloc] initWithFrame:self.backgroundView.frame];
    [backgrContainer addSubview:imgView];
    [self setBackgroundView:backgrContainer];// instead of  [self setBackgroundView:imgView];
    [backgrContainer release];
    [imgView release];
    

    由于某些原因,直接设置UIImageView会使其模糊(即使没有调整眼睛大小)。设置autoresizingMask=None或contentMode<&燃气轮机;UIImageView的ScaleToFill没有解决我的问题。

    (视网膜设备/模拟器似乎没有关于细胞背景视图中模糊图像的问题)

    推荐文章