首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最后一个字符的TextField autoSize+italics切分

最后一个字符的TextField autoSize+italics切分
EN

Stack Overflow用户
提问于 2009-10-04 13:19:52
回答 3查看 3.2K关注 0票数 1

在actionscript 3中,我的TextField有:

  • CSS造型
  • 嵌入式字体
  • textAlign :中心
  • autoSize :中心

..。当斜体被使用时,非常正确的字符会被稍微剪掉(特别是大写)。基本上,它似乎没能检测到合适的尺寸。

我以前曾遇到过这个问题,但我只是想知道是否有一个很好的解决办法(而不是检查textWidth或抵消文本等等)?

EN

回答 3

Stack Overflow用户

发布于 2012-10-26 23:09:04

像往常一样初始化textField,使用多行、自动大小、htmlText.

那就做这个小把戏:

代码语言:javascript
复制
// saving wanted width and height plus 1px to get some space for last char
var savedWidth = myTextField.width + 1;
var savedHeight = myTextField.height + 1;

// removing autoSize, wich is the origin of the problem i think                 
myTextField.autoSize = "none";      

// now manually autoSizing the textField with saved values          
myTextField.width = savedWidth;
myTextField.height = savedHeight;
票数 3
EN

Stack Overflow用户

发布于 2009-10-06 09:59:00

并不是说这对你来说很舒服,但是Flash有时在这个看似简单的任务上有困难。html TextField的CSS样式是一个不错的添加,但它给文本呈现带来了麻烦。事实上,出于这个原因,我很少使用CSS来设计文本样式。我只能想象,将粗体的、斜体字和普通类型的组合在HTML中,会导致autoSize错误地计算宽度,从而导致autoSize设置掩码有点短。我非常希望Flash 10中的新文本呈现引擎最终能解决这些问题(理论上看起来更好)。

因此,我的解决方案是永远不要使用HTML,除非我需要文本中的<a>链接.甚至还有一些棘手的文本转换问题。在这些情况下,我避免在同一个文本字段中混合不同的字体权重和字体样式。所有其他情况下,我都直接在TextFormat上使用TextField

我想,如果您无法摆脱当前体系结构(出于某种原因),可以尝试将&nbsp;添加到html编码字符串的末尾。或者,您可以手动设置字段的宽度,而不依赖于autoSize (如前所述)。但是,如果您继续使用CSS/HTML路线,您可能会发现另一个新的、痛苦的限制,就在您不想要它的时候。

票数 1
EN

Stack Overflow用户

发布于 2009-10-04 22:38:22

在闪存预览和实际浏览器插件中,我对TextField掩码的行为有不同的看法。通常,这对我来说很奇怪,它在浏览器中会出现得更正确。您是否尝试过在浏览器中运行swf来查看这个问题实际上是否是一个烦人的问题,而不是一个永久性的问题?

我说过:

解决这个问题的理想方法是将一个更改事件附加到TextField,它总是在字段的最后一个字符之后添加一个空格。然后记得在使用这个值的时候把这个空间修剪掉。

但这并没有考虑到这可能没有一个更改事件,而且它是一个HTML呈现的文本字段。要在HTML字段中添加一个拖尾空间,再次抛出一个&nbsp;,这并不能真正解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1516391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档