我正在尝试使用约束在故事板中使用自定义字体缩小UITextView
。我可以很容易地为边界和字体大小设置动画。但是,由于它是一种自定义字体,因此字体变化在较大尺寸时变得相当不稳定。我想这可以通过更改transform
的{{1}}来完成。但是,这似乎不起作用。文本视图的高度是自我调整大小,但是使用固定的常量宽度(与字体大小/变换一起动画)。这可以控制文本视图行的中断位置。
我已经尝试了以下所有建议的解决方案但没有成功。视图保持其界限但分辨率降低。或者界限减小,但比出现的字体大小更快,导致剪裁。
Scaling UITextView using contentScaleFactor property
我还尝试将文本视图放在占位符视图中,我还在其中设置了高度/宽度约束乘数的动画,以确保它的大小减小。
答案 0 :(得分:0)
将UITextView
放置在占位符UIView
中并将对齐中心X / Y +等宽度/高度限制设置为它来解决此问题。
我还将这些视图之间宽度/高度约束的multiplier
动画为当前变换比例的倒数。这是为了补偿变换的缩放。
textViewWidthConstraint = textViewWidthConstraint.withMultiplier(1/scale)
textViewHeightConstraint = textViewHeightConstraint.withMultiplier(1/scale)
placeholderView.transform = CGAffineTransform(scaleX: scale, y: scale)
其中function withMultiplier是https://stackoverflow.com/a/33003217/511299中用于编辑约束乘数的解的重命名。