2016-06-16 29 views

答えて

8
class ViewController: UIViewController, UITextViewDelegate { 

    @IBOutlet weak var textView: UITextView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     addCustomMenu() 
    } 

    func addCustomMenu() { 
     let printToConsole = UIMenuItem(title: "Print To Console", action: #selector(printToConsole)) 
     UIMenuController.shared().menuItems = [printToConsole] 
    } 

    func printToConsole() { 
     if let range = textView.selectedTextRange, let selectedText = textView.text(in: range) { 
     print(selectedText) 
     } 
    } 
} 

これは、UITextViewのテキストを赤に変更するテキスト選択メニュー項目の例です。 changeToRedFuncは、任意のアクションを実行できます。

注:これは、スウィフト3 (あなたはスウィフト2.3でそれをしたいかどうか尋ねる)であり、このことができます

願っています!ご不明な点がございましたらお気軽にお問い合わせください! :D

+0

ありがとう、これは非常に役に立ちました。何か方法がありますか: 1.テキストが選択されたときにのみ私のカスタムアクションを表示させます。 2.アクションリストの先頭に移動します(「カット」アクションの前に) 3.選択されたテキストを取得します – TomLisankie

+0

いくつかの調査の後、私は1と2が可能であることは確信しています。 2が可能かもしれませんが、プライベートリンゴAPIS(許可されていないもの)から独自のテキスト選択メニューを作成する必要があります。 3については、選択したテキストをコンソールに印刷するように私の例を編集しました。 @Shaken_Earth – Ike10

関連する問題