引数で他クラスのUIViewの値を変更したい
こんにちは。
他のクラスのUIViewの値を(例えばsomeView.alphaの値など)引数を利用してボタンを押した時に変更したいのですが、変更されません。
下記のコードですが、ボタンを押した時にそれぞれのcaseまでは到達しているようですが(printで確認しました)、目的のviewのプロパティの値が変わりません。
ちなみに初期状態(ViewDidLoad)では変更されるようです。
ボタンを押した時に値を変更するにはどうすれば良いか教えてください。
ViewController.swift
class ViewController: UIViewController {
@IBOutlet weak var vHome: UICollectionView!
@IBOutlet weak var vSearch: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
selectRd(rd: 3) //ViewDidLoadなんかの初期値では変更できるようです
}
}
extension ViewController {
func selectRd(rd reader:Int){
var animateView:UIView!
let animateVHome = vHome
let animateVSearch = vSearch
UIView.animate(withDuration: 0.3, delay: 0.0, animations: {
animateVHome.alpha = 0.0
animateVSearch.alpha = 0.0
}, completion: nil)
switch reader {
case 2:
animateView = animateVHome
case 3:
animateView = animateVSearch
default:
break
}
UIView.animate(withDuration: 0.3, delay: 0.3, animations: {
animateView.alpha = 1.0
}, completion: nil)
}
}
Another.swift
class Another{
@objc func buttonTapped(sender : HeaderButton) {
let vC = ViewController
vC.selectRd(rd: 2) //このボタンを押した時が変更されません。caseまでは行ってます。
}
}