我有一个多行UILabel
,我想启用放大功能。放大正确尺寸的UILabel&重新渲染字体
我有UIScrollView
嵌入并分钟变焦设置为.25,最大变焦为4。这工作得很好,但是我UILabel
的字体看起来相当总值(GDP)比1
我可以在其他任何缩放级别处理这个方法:
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
为了重新大小我的UILabel的东西较大的字体,但认为仍放大,所以它总是看起来很恐怖。
有什么办法让标签的文本重新渲染一个我完成缩放?
重要的是用户当前滚动的文字在文字中的位置不会丢失。
(要了解我要做的事情,请注意如何在移动Safari中缩放文本时缩放/消除锯齿时间,然后清理起来以您当前的缩放比例)
感谢您的详细解答。 这是否意味着我需要放弃scrollview的内置缩放功能? 或者当我完成缩放时,我只是重新渲染新比例因子的曲面? 这对您的最小/最大缩放设置有什么影响? – 2010-01-02 18:25:49
在捏手势正在进行时使用内置缩放,然后在手势完成时重新渲染。这是获得体面的缩放缩放性能的唯一方法。 UIScrollView会跟踪整体缩放比例(这就是为什么您需要重写内容视图上的转换存取器以抵消这种情况),因此它仍然会观察最小/最大缩放设置。 – 2010-01-02 21:39:36
盯着更有意义。所以如果我缩放到150%,我可以将标签的字体大小更改为1.5 * currentFontSize,重新计算它们的确切滚动位置,然后重新渲染我的标签。然后我将缩放重置为1并重新计算我的最小/最大值?我有这个权利吗? – 2010-01-04 19:33:56