2013-05-29 77 views
3

时,我有一个UILabel一个白色的影子在1个垂直像素偏移量和它看起来很好,在其正常大小:http://cl.ly/PBtC的UILabel与阴影变化阴影偏移Autoshrinking

但是,如果标签内的文本得到足够大的自动收缩按比例缩放它的阴影偏移量比一个像素增长得多。在这里看到:http://cl.ly/PC4M

和偏移量似乎改变基础上的UILabel是多少Autoshrunk:http://cl.ly/PBtn

有没有人见过这个?对我的UILabel没有什么好笑的,它是非常可重复的。这里是我的IB设置:http://cl.ly/PCIx

修复的任何想法?

回答

0

没有看到您的代码,我最好的猜测是UILabel没有正确处理autoresize相对于阴影。 我建议创建一个UILabel子类,并通过覆盖layoutSubviews来手动处理阴影。如果您可以确认这是一个UIKit错误,请向Apple提交报告。

0

我使用您的IB设置重现相同的确切结果。

对于修复,将文本类型更改为属性文本,并且一切正常。

+0

当我将UILabel更改为属性文本而不是普通文本时,我从Interface Builder中失去了我的大小和对齐设置。我正在设置文本:[_stringLabel setAttributedText:[[NSAttributedString alloc] initWithString:value]]; 它似乎并不尊重我的界面生成器设置。 – kyleplattner

+0

它不尊重你的IB值,因为你正在重新初始化NSAttributedString。设置插座并通过它分配文本,我不认为有必要重新初始化字符串。如果存在,那么在您分配init之后直接手动设置您的对齐方式和代码大小。希望这可以解决您的问题,请让我知道。 – Psiticosis

+0

同样的事情发生时,我只是使用[_stringLabel setText:值]。不知道为什么它不会只使用IB值。 – kyleplattner

1

我遇到了同样的问题(应该是IB错误)。截至目前(Xcode 4.6.2),似乎可以有Minimum Font ScaleTighten Letter Spacing启用Minimum Font Size似乎与Tighten Letter Spacing正常工作。

另请参阅UILabel min font size shadow issue