31
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Swift】UITextFieldのカーソル非表示&コピー・ペーストを不可にする方法

Last updated at Posted at 2017-01-04

デモ

hollyweed.gif

手順

カスタムクラス作成

まずUITextFieldのカスタムクラスを作ります。
⌘+Nで新規ファイル作成画面に移動し、Cocoa Touch Classを選択し、Nextをクリック。
1.png

Subclassを設定

次にクラス名を適当に入力(今回はCustomeTextFieldとしました。)し、SubclassをUITextFieldにし、Next。次の画面で保存場所を選んで作成します。
2.png

コード

ファイルができたらコードを以下のように記述していきます。

.CustomTextField.swift
import UIKit

class CustomTextField: UITextField {

    // 入力カーソル非表示
    override func caretRect(for position: UITextPosition) -> CGRect {
        return CGRect.zero
    }
    // 範囲選択カーソル非表示
    override func selectionRects(for range: UITextRange) -> [Any] {
        return []
    }
    
    // コピー・ペースト・選択等のメニュー非表示
    override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
        return false
    }

}

UITextFieldにカスタムクラスを適応

最後に該当のTextFieldを選択し、Custome Classに先程作ったCustomTextFieldを設定して完了です。
3.png

31
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?