2017-10-10 11 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の画像ビューで非表示になっていますか?

ボタンのアクションとIBアウトレットがすべて正しく接続されていることを100%確信していますが、イメージビューはまだ表示されず、表示されていません。

+0

私はあなたのコードをテストし、うまくいきました。 Interface Builder内のプロパティをチェックすると、アルファ値がゼロに設定されている可能性があります。 – the4kman

+0

最初に隠れている画像ビューはありますか? –

答えて

0

この同じ問題が発生していました。メインスレッドでisHiddenのコードを実行すると問題は解決します。

DispatchQueue.main.sync { 

} 
関連する問題