2017-06-19 3 views
0

私は制約付きのストーリーボードでカスタムフォントでUITextViewをスケールダウンしようとしています。私は簡単に境界とフォントサイズをアニメーション化することができます。しかし、それはカスタムフォントであるため、フォントの変更はより大きなサイズでは非常に不安定になります。私はUITextViewtransformを変更することでこれが可能であると考えました。しかし、これは動作していないようです。テキストビューは高さでセルフサイジングですが、フォントサイズ/変換とともにアニメーションされる幅には固定の定数が使用されます。これは、テキストビューの行がどこで壊れるかを制御します。変換でUITextViewをスケールダウン

以下のすべての解決策を試してみましたが、成功しませんでした。どちらのビューでも境界線は維持されますが、解像度は低下します。または、境界が減少しますが、出現するフォントサイズよりも速いため、クリッピングが発生します。

Scaling UITextView using contentScaleFactor property

私も、私も、それはサイズが小さくなることを確認するために、高さ/幅の制約の乗数をアニメーションplaceholderviewでテキストビューを配置しようとしました。

答えて

0

プレースホルダーUIViewに私のUITextViewを置き、中心にX/Y +等しい幅/高さの制約を設定することで解決しました。

また、これらのビュー間の幅/高さの制約のうち、現在の変換スケールの逆数に応じてmultiplierにアニメートしました。これは、変換のスケーリングを補正するためです。機能withMultiplierが制約乗算器を編集するためhttps://stackoverflow.com/a/33003217/511299に提示溶液のリネームである

textViewWidthConstraint = textViewWidthConstraint.withMultiplier(1/scale) 
textViewHeightConstraint = textViewHeightConstraint.withMultiplier(1/scale) 
placeholderView.transform = CGAffineTransform(scaleX: scale, y: scale) 

関連する問題