こんにちは。
他のクラスのUIViewの値を(例えばsomeView.alphaの値など)引数を利用してボタンを押した時に変更したいのですが、変更されません。
下記のコードですが、ボタンを押した時にそれぞれのcaseまでは到達しているようですが(printで確認しました)、目的のviewのプロパティの値が変わりません。
ちなみに初期状態(ViewDidLoad)では変更されるようです。
ボタンを押した時に値を変更するにはどうすれば良いか教えてください。
swift
1//ViewController.swift 2class ViewController: UIViewController { 3 4 @IBOutlet weak var vHome: UICollectionView! 5 @IBOutlet weak var vSearch: UICollectionView! 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 selectRd(rd: 3) //ViewDidLoadなんかの初期値では変更できるようです 10 11 } 12} 13 14extension ViewController { 15 16 func selectRd(rd reader:Int){ 17 18 var animateView:UIView! 19 20 let animateVHome = vHome 21 let animateVSearch = vSearch 22 23 UIView.animate(withDuration: 0.3, delay: 0.0, animations: { 24 animateVHome.alpha = 0.0 25 animateVSearch.alpha = 0.0 26 }, completion: nil) 27 28 switch reader { 29 case 2: 30 animateView = animateVHome 31 case 3: 32 animateView = animateVSearch 33 default: 34 break 35 } 36 37 UIView.animate(withDuration: 0.3, delay: 0.3, animations: { 38 animateView.alpha = 1.0 39 }, completion: nil) 40 } 41 42}
swift
1class Another{ 2 @objc func buttonTapped(sender : HeaderButton) { 3 let vC = ViewController 4 vC.selectRd(rd: 2) //このボタンを押した時が変更されません。caseまでは行ってます。 5 } 6}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/06 15:04
2018/02/06 15:12
2018/02/06 15:37
2018/02/06 16:06
2018/02/07 00:52 編集
2018/02/07 03:19