UITextViewのテキストの余白を0にする

この前カルボナーラを作ったらベチョベチョになって失敗した。料理は難しい。

開発環境

> xcodebuild -version
Xcode 13.1
Build version 13A1030d

記事中のスクリーンショット: iPhone 13 Pro Max / iOS15.0

結論

デフォルト 余白0
f:id:tokizuoh:20220223094656p:plain:w150:h150 f:id:tokizuoh:20220223094713p:plain:w150:h150
import UIKit

final class ViewController: UIViewController {

    @IBOutlet weak var textView: UITextView! {
        didSet {
            textView.textContainerInset = .zero
            textView.textContainer.lineFragmentPadding = 0
        }
    }
    
}

lineFragmentPadding

developer.apple.com

textView.textContainerInset = .zero

Insetだけの変更では目的を達成できなかった。
lineFragmentPadding はデフォルトで5.0に設定されているため、この値を0にすればOK。

Human Interface Guidelines でも特段言及されていないのでOKそう。

参考