为视图应用阴影使我的文字模糊

Posted

技术标签:

【中文标题】为视图应用阴影使我的文字模糊【英文标题】:applying shadow for the view makes my text blurry 【发布时间】:2012-11-09 03:52:41 【问题描述】:

我的收藏视图单元格结构描述如下

对于 cellItemAtIndex,我执行以下操作

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
    UICollectionViewCell    *cell   =   [self.collectionView dequeueReusableCellWithReuseIdentifier:@"reusedCell" forIndexPath:indexPath];


    // Set shadow around the cell
    [cell.layer setMasksToBounds    :NO ];
    [cell.layer setShadowColor      :[[UIColor whiteColor ] CGColor ] ];// shadow's color
    [cell.layer setShadowOpacity    :0.65 ];                            // set the opacty
    [cell.layer setShadowRadius     :5.0 ];                             // set the blur radius
    [cell.layer setShadowOffset     :CGSizeMake( 0 , 0 ) ];             // set shadow position
    [cell.layer setShouldRasterize  :YES ];                             // tell the cell to render it’s CALayer as a bitmap
    [cell.layer setShadowPath       :[[UIBezierPath bezierPathWithRect:cell.bounds ] CGPath ] ];    // use a path to draw its shadow instead of using its
    ......................................................................

当我在设备上运行应用程序时,会显示阴影。但是,我的标签文字很模糊。请查看以下从我的设备拍摄的图像

如果我取消注释用于放置阴影的 bode 块,则文本如下图所示清晰

我……完全迷路了。有没有人对这个问题有任何想法。请帮忙

【问题讨论】:

有人知道这个吗??? 你救了我,伙计。 tnxx 很多 【参考方案1】:

您正在栅格化图层,但默认栅格化比例为 1.0。对于视网膜显示器,需要设置为 2.0,否则图层仅以一半分辨率呈现。

cell.layer.rasterizationScale=[[UIScreen mainScreen] scale];

【讨论】:

其他几个解释如何应用阴影的答案中缺少这一点。谢谢。【参考方案2】:

我会删除 setShouldRasterizesetShadowOffsetsetShadowPath。没有它们也能正常工作。

【讨论】:

以上是关于为视图应用阴影使我的文字模糊的主要内容,如果未能解决你的问题,请参考以下文章

5、CSS样式之动画效果

用 CSS 设计漂亮的阴影,css阴影和原理,所有知识点多图动画演示

text-shadow文字阴影

如何在TextView后面创建一个大的模糊阴影?

html5如何让边框发光

Android 如何去除文字阴影?