2017-10-10 38 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 { 

}