textViewを使って中に文章を書ける部品を設置しました。実際にテストするとアプリを開いてテキストを入力することはできます。キーボードが出てきた時に出現するviewの中に閉じるボタンを作成していて、キーボードで文章を入力後閉じるボタンを用いてキーボードをしまいたいのですが現状は閉じるボタンを押すとエラーとなってしまいます。
参考にしたサイトはここです。
https://hajihaji-lemon.com/swift/uitextview/
swift
1import UIKit 2 3class ViewController: UIViewController, UITextViewDelegate { 4 5 6 @IBOutlet weak var testTextView: UITextView! 7 8 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 13 //ビューを作成する。 14 let testView = UIView() 15 testView.frame.size.height = 60 16 testView.backgroundColor = UIColor.blue 17 18 //閉じるボタンを作成する。 19 let closeButton = UIButton() 20 closeButton.setTitle("閉じる", for: .normal) 21 closeButton.setTitleColor(UIColor.yellow, for: .normal) // タイトルの色 22 closeButton.backgroundColor = UIColor.red 23 closeButton.addTarget(self,action:Selector(("onClickCloseButton:")), for: .touchUpInside) 24 25 //ビューに閉じるボタンを追加する。 26 testView.addSubview(closeButton) 27 28 //Autoresizingの変換をオフにする。 29 closeButton.translatesAutoresizingMaskIntoConstraints = false 30 31 //ボタンの幅の制約を追加する。 32 testView.addConstraint(NSLayoutConstraint( 33 item: closeButton, 34 attribute: .width, 35 relatedBy: .equal, 36 toItem: nil, 37 attribute: .width, 38 multiplier: 0.0, 39 constant: 70)) 40 41 //ボタンの高さの制約を追加する。 42 testView.addConstraint(NSLayoutConstraint( 43 item: closeButton, 44 attribute: .height, 45 relatedBy: .equal, 46 toItem: nil, 47 attribute: .height, 48 multiplier: 0.0, 49 constant: 50)) 50 51 //ボタンの右端とビューの右端を揃える制約を追加する。 52 testView.addConstraint(NSLayoutConstraint( 53 item: closeButton, 54 attribute: NSLayoutConstraint.Attribute.trailing, 55 relatedBy: NSLayoutConstraint.Relation.equal, 56 toItem: testView, 57 attribute: NSLayoutConstraint.Attribute.trailing, 58 multiplier: 1.0, 59 constant: 0)) 60 61 //ボタンの上端とビューの上端を揃える制約を追加する。 62 testView.addConstraint(NSLayoutConstraint(item: closeButton, 63 attribute: NSLayoutConstraint.Attribute.top, 64 relatedBy: NSLayoutConstraint.Relation.equal, 65 toItem: testView, 66 attribute: NSLayoutConstraint.Attribute.top, 67 multiplier: 1.0, 68 constant: 0)) 69 70 71 //キーボードにビューを追加する。 72 testTextView.inputAccessoryView = testView 73 74 //テキストビューのデリゲート先にこのインスタンスを設定する。 75 testTextView.delegate = self 76 77 } 78 79 80 //閉じるボタンで呼び出されるメソッド 81 func onClickCloseButton(sender: UIButton) { 82 testTextView.resignFirstResponder() 83 } 84} 85
上記がコード内容となります。
この閉じるボタンを押した時に
Thread 1: "-[sample.ViewController onClickCloseButton:]: unrecognized selector sent to instance 0x7fca5d906fe0"
とでます。
他サイトで色々調べる中でこのエラーは接続に問題がある?というのがなんとなくわかってきたのですがそこから先が進みません。textViewの接続詳細も載せておきます
どなたかよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/01 13:54