未分類

TextViewにPlaceholderを追加する簡単な方法

投稿日:

TextViewはTextFieldのようにPlaceholderを設定できないため、自分で実装する必要がある。

ここでは、TextViewの上にLabelを設置し、TextViewの入力判定を行い、入力された時は非表示にする方法でPlaceholderを作成する。

また入力判定にはUITextViewDelegateのデリゲートメソッドを使う。

1. StoryBoardでTextViewの上にLabelを設置する。

TextViewの上にLabelを設置して、textを「メモ」に設定し、色をグレーにした。


2. UITextViewDelegateプロトコルと、デリゲートを設定

プロトコル追加↓

class ViewController: UIViewController,UITextViewDelegate{

デリゲート設定↓(※IBOutletでtextViewやLabelを繋ぐのを忘れずに)

textView.delegate = self

3.textViewDidChange()メソッドで入力判定しラベルの表示/非表示を設定

//テキストが書き換えられるたびに呼ばれる
   func textViewDidChange(_ textView: UITextView) {
    //テキスト未入力の場合のみLabelを表示する
    memoLabel.isHidden = textView.text.isEmpty ? false : true
    }

テキストを入力するとラベルが非表示となる↓

参考:UITextViewにてPlaceholderを実装する
[Swift 4.2] UITextViewにプレースホルダーを追加する[iOS 12]

-未分類

執筆者:

関連記事

no image

クラスの設計図を見る方法

クラスの設計図を見る方法。 使えるプロパティを確認できる。 commandを押しながらクラス名をクリック→Jump to Definition MainStoryboardの画面に表示される。 以下を …

no image

UIColorをRGBで指定する

label.textColor = UIColor(displayP3Red: 255/255, green: 126/255, blue: 121/255, alpha: 1) 参考:https:/ …

no image

マーケティングの基本「3NOTの壁」への対策

基本的なマーケティングの考え方。 動画制作でも文章でも同じ。 3NOTの壁 視聴者は「見ない・信じない・行動しない」のが前提と考える。 そのための対策は、以下のようなものがある。 見ないへの対策 ・冒 …

刺繍装飾文字と動く吹き出し風背景

●文字装飾 アウトラインをとるには、テキスト選択→上メニュー「レイヤー」→「作成」テキストからシェイプ を作成→ぺんツールに持ち替えて、塗りをなし、線の太さを3pxくらいにする→テキストを再表示すると …

動画制作の基本的な知識

フレームレートとは 1秒間に何コマあるか。 多いと滑らかに動く、少ないとカクカク動く。 基本的に29.97選べばOK。(ほとんどのデバイスはこれで撮影されるから) ちなみに映画やアニメは24で作られて …