MacOS Catalina 10.15.4
Xcode 11.5 beta
Swift version 4
ボタンをクリックするとカバーというUILabel
を生成し、そのカバーをタップするとカバーが非表示になるような仕様を考えています。
タップしたUILabel
を認識し、そのUILabel
だけを非表示にする方法が分かりません。
func setcoverの外でtapGesture
のaction
であるhide
を設定しなければならず、そうなるとsetcover
内で生成したカバーをhide
内で操作できず、どうすれば良いのか途方に暮れています…。
色々と勉強不足で大変恐縮ですが、何か良い方法がございましたらご教示頂けると幸いです。
宜しくお願い致します。
swift
1@IBAction func setcover(_ sender: Any) { 2 3 //UILabelのインスタンス作成 4 let cover = UILabel() 5 6 createcard.create(label: cover) 7 8 //カバーの枚数を増加 9 covercount += 1 10 11 //3つで1行となるよう、何枚目かのカバーかによってx,y座標を設定 12 let boxx = standardlength*(1 + 6*( (covercount-1).truncatingRemainder(dividingBy: 3))) 13 let boxy = 100*(ceil(covercount/3)) 14 15 //カバーの座標とサイズを設定 16 cover.frame = CGRect(x: boxx, 17 y: boxy, 18 width: standardlength*4, 19 height: standardlength*4) 20 21 //viewにカバーを追加 22 self.view.addSubview(cover) 23 24 //カバーを管理するために配列に組み込む 25 coverarray.append(cover) 26 27 //UIGestureのインスタンス 28 let tapGesture = UITapGestureRecognizer(target: self, action: #selector(hide(_:))) 29 30 //カバーをタップできるようにする 31 cover.isUserInteractionEnabled = true 32 33 //カバーにタップジェスチャーを追加 34 cover.addGestureRecognizer(tapGesture) 35 36 37 38 } 39 40 41 @objc func hide(_ sender: UITapGestureRecognizer) { 42 //ここの書き方が分かりません 43 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/22 13:52
2020/07/22 15:34
2020/07/23 00:57
2020/07/23 01:32
2020/07/23 01:51