2017-11-11 11 views
0

ボタンをクリックすると、セルの高さが上がり画像が表示されるはずです。iOS:クリックしてセルを展開する

ボタンをクリックしたときに、私が変更したイメージの高さの制約でautolayoutを設定しました。

initで使用する制約が正しく表示されます(たとえば、定数を0または200に設定した場合)。しかし、ボタンのアクションで定数を変更すると、何も起こりません。ここで

は、制約のロジックはあなたのコードが適切ではありません

func toggleImageHeight(){ 

     cellIsExpanded = !cellIsExpanded 

     self.imageHeightConstraint.constant = self.cellIsExpanded ? 200 : 0 
     UIView.animate(withDuration: 2) { 
      self.layoutIfNeeded() 
     } 
    } 

答えて

-1

です。これを試してください。

self.imageHeightConstraint.constant = self.cellIsExpanded ? 200 : 0 
UIView.animate(withDuration: 2) { 
    self.layoutIfNeeded() 
} 

これが機能します。

+0

です。申し訳ありません - 私は別のオプションを試す前に私のコードはあなたのようでした。 awakeFromNib()の値(self.tableViewHeightConstraint.constant)のみが反映されます。後で変わらない。 – netshark1000

+0

私は実際に何を言いたいのか分かりませんでした。セルをクリックした後に制約を変更したいですか? –

+0

そして "self.cellIsExpanded"ブール変数をどこで変更しますか? –

関連する問題