![]() |
1
16
uiscrollview的内置缩放仅对内容视图应用转换,这会导致比例因子1.0以上的任何内容都变得模糊。要获得真正清晰的渲染效果,您需要自己处理缩放。我描述了一个过程 this answer . 您需要手动跟踪内容视图的比例因子,然后在-ScrollViewDidendZooming:WithView:Atscale:Delegate方法中应用该比例。对于uilabel,这意味着更改字体大小以反映新的比例。 为了保持正确的滚动位置,您需要在上面的委托方法中获取uiScrollView的ContentOffset,并计算新缩放的uiLabel中对应的位置。然后,将滚动视图的ContentSize设置为与uiLabel的新大小匹配,并使用-setContentOffset:animated:设置新计算的内容偏移量(将animated设置为no)。 要使数学正确是有点困难的,但是当我在一个应用程序中缩放文本时,我会这样做,可以在 video demonstration of that application (大约在1/3处)。 |
![]() |
2
8
感谢Valvoline&Scrimmersh为您提供答案。我的解决方案是你的混合方案。 uilabel子类如下: 可缩放uilabelzoomable.h
可缩放uilabelzoomable.m
现在,当你在你的应用程序中使用你喜欢的新的uilabelzoomable时,记住要这样做: 你的视图控制器.m
记住要添加quartzcore框架!
享受清晰而美丽的文本:
|
![]() |
3
7
IOS 4 +
如果这变得过于密集且性能很慢,只需尝试为标签设置ContentScaleFactor。 |
![]() |
4
3
我通过将uilabel子类化为detaileduilabel,并使用类似这样的重写方法实现了scrinmersh的解决方案; 进口夸脱
重写init方法,initWithFrame,随您选择。
以及layerClass、class方法。
|
![]() |
5
3
以下是我的一些想法:
为Swift 4.0更新:
还要记住,标签应该足够大以显示整个文本。有时重绘需要一点点,但这种方法相当简单。 |
![]() |
6
2
用阳离子层代替炉管的正确方法如下:
另外,你必须设定你的偏见细节和你需要的任何东西。 |
![]() |
7
2
我在iOS 5.1和6测试版中测试了Jezu的代码,它适用于常量文本标签,但由于其他普通标签要求更新文本内容失败,即文本没有更改… 我用jezu的答案将uilabel子类化为zoomablelabel,并将该类应用于标签的自定义类,它工作正常。 |
![]() |
8
1
有一种更简单的方法可以做到。 将uilabel的layerClass替换为catiledLayer,并适当设置细节级别。
作业已完成 |
![]() |
blue · Swift:换行不工作?即使已设置 7 年前 |
![]() |
Teetz · 更改文本时UILabel中等距字体的奇怪行为 7 年前 |
![]() |
Zubair · 与UILabel绘图/显示在屏幕上相关的方法 7 年前 |
![]() |
Hapeki · 覆盖UILabel字体会导致切断标签 7 年前 |
![]() |
pajevic · UILabel大小更改不会使用自动布局设置动画 7 年前 |
![]() |
NelbeDG · 如何在Swift 3中制作可点击的UILabel? 7 年前 |