首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

[转]有时候可用 UIWebView 代替 UITextView,解决行间距有关问题

2012-06-26 
[转]有时候可用 UIWebView 代替 UITextView,解决行间距问题http://unmi.cc/uiwebview-replace-uitextview-

[转]有时候可用 UIWebView 代替 UITextView,解决行间距问题

http://unmi.cc/uiwebview-replace-uitextview-line-height

?

我们在使用?UILabel?或是?UITextView?时,如果文字出现了换行,目前我还不知道如何去控制行间距,固定的?Label 文字 可以折成两个?Label?上下显示,但是对应大段显示的段落要多行显示时该如何呢,多行单独控制就变得不现实了。

由于?UILabel?或 UITextView?并不提供对行间距 line-height?的设置,要达成所愿指定行间距的方法,我可以想到三种方式:

1. 自定义相应的控件,在控件内部方法中去做文章,未实践,可能是个好方法
2.?修改字体,由于默认行间距是由字体本身特性决定的,所以可以修改字体来满足有限的需求,不是很现实
3.?用??? UIWebView?来代替?UITextView,这是本文的思想

先看个图片,看看在使用某些字体时失控的行间距是什么样的效果:

[转]有时候可用 UIWebView 代替 UITextView,解决行间距有关问题//在 WebView 中显示本地的字符串

执行之后显示的就是第一个图中的效果了。有可能出现在 iOS4?下背景未能透明化的问题,是可能,我有碰到过,也许哪里设置的问题。

注意,很重要的一点,上面 iOS4 下背景可能不透明的情况是因为:虽然可以在 xib 中对 UIWebView 设置它的 backgroundColor 为 clearColor,但是 Xcode 似乎不怎么认账,所以必须在代码中用 webview.backgroundColor = [UIColor clearColor]; 设置 UIWebView 的背景才成,opaque 在 xib 还是在代码中设置都行。

另外,也可以用? background-color: rgba(0,0,0,0)?样式,最后一个 0?表示 Alpha?值,即完全透明,甚至是用 background-color:hsla(120,50%,50%,0)?也是可行的。

对于?UIWebView?来说,你能够应用?HTML5?很多特性,所以不要求有很规范的?HTML?格式,像无需写成 <html><head>.......?那样。

尝试了用 @font-face?来使用自定义字体,未能成功,再就是对 UIWebView?的用户交互及滚动条风格调一调,可让它更像是个 UITextView,完全的代替?UITextView?来显示一段文字某些地方有可能仍需作微调。

热点排行