2017-07-18 9 views
0

私はUITableViewカスタムセルを持っています。それはUIViewUIButton 私の `cellForRowAtIndexでこのビューの高さの制約とボタンの上限をプログラムで変更したいと思います。だからこの中でこのようにやっている。セルサブビューの制約がCellForRowAtIndexでプログラムによって変更されています

if(myintime2 == "00:00" && myoutTime2 == "00:00" ) 
     { 
      cell.btnIntime2.setTitle(myintime2, for: .normal) 
      cell.btnOutTime2.setTitle(myoutTime2, for: .normal) 

      cell.btnOutTime2.isHidden=true 
      cell.btnIntime2.isHidden=true 
      cell.customViewHeightConstraint.constant = 111 
      cell.customBtnIn1Top.constant = 111/2 


     } 

     else if (myintime2 == "N/A" && myoutTime2 == "N/A") 
     { 
      cell.btnIntime2.setTitle(myintime2, for: .normal) 
      cell.btnOutTime2.setTitle(myoutTime2, for: .normal) 

      cell.btnOutTime2.isHidden=true 
      cell.btnIntime2.isHidden=true 
      cell.customViewHeightConstraint.constant = 111 
      cell.customBtnIn1Top.constant = 111/2 

     } 


     else 
     { 
      cell.btnIntime2.setTitle(myintime2, for: .normal) 
      cell.btnOutTime2.setTitle(myoutTime2, for: .normal) 
      cell.customViewHeightConstraint.constant = 222 
      cell.customBtnIn1Top.constant = 10 
      cell.btnOutTime2.isHidden=false 
      cell.btnIntime2.isHidden=false 

     } 

しかし、いくつかのセル高さが間違っている、あなたは、セルの各タイプがでそれを作成するストーリーボード

enter image description here

することにより、複数のプロトタイプのセルを構築することができ

+0

"一部の細胞は高さが間違っています"と正確にはどういう意味ですか?期待される結果は何ですか、代わりに何が起こりますか? –

+0

@mag_zbc私は2つの条件をチェックする必要があります..私のtime2が利用可能な場合、私はセルの高さを増やし、ボタンの上限制約値を増やしたいと思います。しかし、私の状態が満足していないときには、細胞は増加しており、またトップも増加しています。 – user1960169

+0

@mag_zbcしかし、すべてのセルではなく、これは少数のセルに対してのみ発生します。無作為に – user1960169

答えて

0
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 

     if(myintime2 == "00:00" && myoutTime2 == "00:00" ){ 
       return 111 
     } 
     else if (myintime2 == "N/A" && myoutTime2 == "N/A") 
     { 
       return 111 
     }else{ 
       return 222 
     } 

} 

私を助けてください異なった高さと異なる識別子であり、制約を使用しない

Using Auto Layout in UITableView for dynamic cell layouts & variable row heights

+0

私は私のサブビューの高さの制約を設定する必要はないのですか? – user1960169

+0

これはテーブルビューです。セルの高さを設定するとこのメソッドが存在するため、高さの制約が設定されている必要はありません –

+0

あなたの方法で変更しました。しかし、今ではすべての細胞が私の元の細胞サイズである308を取ります。 : – user1960169

関連する問題