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

标签 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 类型。

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

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

最佳答案

在 Retina 显示屏上它很模糊,因为 -webkit-background-clip:text 似乎没有考虑显示屏的分辨率,因此剪辑是以较低的分辨率完成的。

UIWebViews 仅当您有多种不同样式的文本时才有意义,例如一些红色的单词,一些较大字体的单词等等。

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

关于ios - 使用 UIWebView 创建样式文本(在视网膜屏幕上模糊),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11842383/

相关文章:

cocoa-touch - 带有圆形矩形路径的水平渐变?

iphone - 如何使用 ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering() 从 ExchangeGal 来源获取人数

ios - 禁用拖动超过 UIWebView/UIScrollView 的顶部( "Pull to refresh"手势)

iOS - 不能是连续或重复数字的 4 位整数的正则表达式?

ios - UIScrollView:内部 View 不正确,行为奇怪, View 在触摸时弹回

iphone - 响应 EKEventStoreChangedNotification

ios - 当我退出 UIWebVIew 响应选择器时出错

ios - 检查 WebView 中的 URL 是否已更改?

ios - 扫描提供特定服务的外围设备,但在发现的外围设备上找不到服务

ios - UITextField 在编辑时剪切文本