読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #247】テキストフィールドにコピー、ペーストのメニューを表示しないサンプル

はじめに

テキストフィールドをロングタップした時に
コピー、ペーストのメニューを表示しない方法。


テキストフィールドをタップした時表示されるコピーやペーストはUIMenuControllerといいます。
これを非表示にしたい場合、UITextFieldを継承したクラスを作成します。
canPerformAction:メソッドをオーバーライドし、
UIMenuControllerを非表示にする処理を書きます。


具体的には下記のとおりになります。

class SampleTextField: UITextField{
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        // コピーやペーストなどのメニューを非表示にする
        UIMenuController.sharedMenuController().menuVisible = false
        return false
    }
}

サンプル

実際にテキストフィールドをロングタップして、メニューが表示されないことを
確認したいかたは下記のサンプルで見てみてください。
上記、動画のとおりになります。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let textField = SampleTextField(frame: CGRect(x: 0, y: 0, width: 100, height: 40))
        textField.center = view.center
        textField.borderStyle = .Line
        view.addSubview(textField)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

class SampleTextField: UITextField{
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        // コピーやペーストなどのメニューを非表示にする
        UIMenuController.sharedMenuController().menuVisible = false
        return false
    }
}

ダウンロードはコチラから。


【参考情報】
iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift