問題タブ [line-spacing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spacing - 不要なスペースを削除する方法は?
以下のコードは、各ジムの住所を取得しますが、ジムが開いている時間の出力の間隔にエラーがあります。私が間違っていた場所のアイデアはありますか?
ご協力ありがとうございました!
text - SwiftUI でテキストの行間を減らす
一部のフォントでは、組み込みの行間が不快なほど大きくなります。
SwiftUI は、テキストの行間の間隔を調整するText
修飾子を提供します (リーディング/トレーリングとは関係なく、リーディングとも呼ばれます)。その値は、テキストの連続する行の間に配置する追加の間隔のポイント数を指定するため、結果は変更されません。残念ながら、負の値には反応しないようです。と同じ結果が得られます。.lineSpacing()
.lineSpacing(0)
.lineSpacing(-10)
lineSpacing(0)
UIKitに頼らずにSwiftUIの行間を減らす方法を知っている人はいますか?
swift - attributedText 値の変更によって lineSpacing が追加されると、TextView UIViewRepresentable が UndoManager をリセットする
ここで説明されているように、TextView UIViewRepresentable を使用しています https://www.appcoda.com/swiftui-textview-uiviewrepresentable/。
行間隔に関する1つの問題を除けば、期待どおりに機能しています。SwiftUI の lineSpacing 修飾子は効果がないようです。そのため、UIViewRepresentable に以下を追加して回避しました
func updateUIView(_ uiView: UITextView, context: Context)
。
これは、 UITextView の行間を調整することでアドバイスされたとおりです。
したがって、完全な関数は次のようになります。
これで問題はありませんが、UndoManager がリセットされます。つまり、何らかの変更を加えるとすぐに、UndoManager は元に戻す (またはやり直す) ことができるものがあるとは認識しません。私の検索から、これは attributedText の値を変更することの一般的な副作用のようです。私のアプローチを微調整するか、 UndoManager の状態をリセットせずに lineSpacing を達成するまったく別の方法かどうか、利用可能な回避策があるかどうか疑問に思っています。
UPDATE : Asperi の推奨を試みましたが、結果はさまざまでした。
これは、TextView と対応するコーディネーターの完全なコードです。
self.text.wrappedValue = textView.text を textViewDidChange (上部にリンクされている AppCoda チュートリアルから取得したもの) に保持すると、推奨事項は機能しません。ただし、削除すると機能するように見えますが、ビューが更新されるたびに、セッションの開始時にテキストが自動的に元の状態にリセットされるという他の問題があります。たとえば、別のビューに切り替えようとした場合などです。アプリで、そうする前にテキストがリセットされるのを確認できました。または、たとえば、TextView の不透明度を下げる UI を開いたときに確認できました。