隐藏在Swift 3中的图像视图上不工作?
问题描述:
@IBOutlet weak var allStocksSelected: UIImageView!
@IBOutlet weak var shortStocksSelected: UIImageView!
@IBOutlet weak var longStocksSelected: UIImageView!
@IBOutlet weak var myStocksTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
myStocksTableView.delegate = self
myStocksTableView.dataSource = self
}
override func viewDidAppear(_ animated: Bool) {
self.shortStocksSelected.isHidden = true
self.longStocksSelected.isHidden = true
self.allStocksSelected.isHidden = true
}
@IBAction func allStocksButtonPressed(_ sender: Any) {
print("ALL!")
self.stockTypeChanged(stockType: allStocksSelected)
}
@IBAction func shortStocksButtonPressed(_ sender: Any) {
print("SHORT!")
self.stockTypeChanged(stockType: shortStocksSelected)
}
@IBAction func longStocksButtonPressed(_ sender: Any) {
print("LONG!")
self.longStocksSelected.isHidden = false
self.shortStocksSelected.isHidden = true
self.allStocksSelected.isHidden = true
//stockTypeChanged(stockType: longStocksSelected)
}
@IBAction func addNewStockButtonPressed(_ sender: Any) {
}
@IBAction func signOutButtonPressed(_ sender: Any) {
}
private func stockTypeChanged(stockType: UIImageView) {
let stockTypes: [UIImageView] = [allStocksSelected, shortStocksSelected, longStocksSelected]
for (stock) in stockTypes {
if (stock == stockType) {
stock.isHidden = false
} else {
stock.isHidden = true
}
}
}
正如我上面的代码所示,我基本上只是试图隐藏和按下按钮时显示某些图像视图。隐藏在Swift 3中的图像视图上不工作?
我100%确定所有的按钮动作和IB插口都正确连接,但图像视图仍然没有隐藏和显示,我不明白为什么。
答
我遇到了同样的问题。将您的isHidden
代码放在主线程上执行应该可以解决问题。
DispatchQueue.main.sync {
}
我测试了你的代码,它工作正常。检查Interface Builder内部的属性,可能会将alpha值设置为零。 – the4kman
这些图像视图是否最初隐藏? –