使用UIWebView创建样式文本(在视网膜屏幕上模糊)

时间:2012-08-07 08:52:39

标签: ios cocoa-touch uiwebview retina-display

我是iOS开发的新手,并继承了一些代码。我遇到过这个:

htmlString = [NSString stringWithFormat:@"<html><head></head><style type=\"text/css\">body h1{font-family:Helvetica Neue;font-weight:bold;font-size: 25px;background-image: -webkit-gradient(linear,left top, left bottom,from(white),to(CCFF00));-webkit-background-clip:text;-webkit-text-fill-color: transparent;}h1:after{ text-shadow:5px 2px 2px #000; content:\"%@\"; color:#000; position:absolute; left:-2px;z-index:-1 }</style><body><h1 style=\"\">%@</h1></body></html>",[loginValueClass sharedloginValueClass].userName,[loginValueClass sharedloginValueClass].userName];
web1.opaque = NO;
web1.backgroundColor=[UIColor clearColor];
web1.userInteractionEnabled = FALSE;
[web1 loadHTMLString:htmlString baseURL:nil];

其中web1的类型为UIWebView。

它会生成一些带渐变的样式文本。然而,它在视网膜屏幕上显得模糊。加载屏幕时也会有明显的延迟。

我的问题是,这是创建这种样式文本的最佳方法,如果是这样,我如何解决视网膜屏幕上的模糊问题?

1 个答案:

答案 0 :(得分:1)

Retina显示屏模糊不清,因为-webkit-background-clip:text似乎没有考虑显示器的分辨率,因此裁剪是以较低的分辨率完成的。

UIWebViews只有在您拥有多种不同风格的文字时才有意义,例如红色的几个单词,更大的字体大小的几个单词等。

对于简单文本,UILabel效率更高,并且可以合理地设置样式(阴影等)。你可以在这里找到例子: