ttlog

日々の開発で得た知見の技術メモ。モバイルアプリネタが多いです。

UITextViewのパディングを削除する

UITextViewにはデフォルトで若干のパディングが含まれています。このままだとレイアウトに支障をきたす場合もあるので、パディングを削除する方法を記載します。

コードで削除する

以下のようなUITextViewを定義したとして、

@IBOutlet weak var textView: UITextView!

viewDidLoad()等のタイミングで以下のコードを実行します。

textView.textContainerInset = UIEdgeInsets.zero
textView.textContainer.lineFragmentPadding = 0

Storyboardで削除する

コードを使わず、StoryboardのUser defined runtime attributesを使ってパディングを削除することも出来ます。User defined runtime attributesについての詳細は省きますが、簡単に言うとInterface Builder(のAttributes inspector)で設定出来ないようなViewのプロパティを設定出来る機能です。

以下のように2つのプロパティを設定します。

  • textContainer.lineFragmentPadding
  • textContainerInset

f:id:tommy10344:20190608173727p:plain

サンプルコード

GitHub - tommy10344/UITextViewRemovePadding