2017-10-10 79 views
0
@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插口都正确连接,但图像视图仍然没有隐藏和显示,我不明白为什么。

+0

我测试了你的代码,它工作正常。检查Interface Builder内部的属性,可能会将alpha值设置为零。 – the4kman

+0

这些图像视图是否最初隐藏? –

回答

0

我遇到了同样的问题。将您的isHidden代码放在主线程上执行应该可以解决问题。

DispatchQueue.main.sync { 

}