2017-10-26 11 views
0

初めてのロードテーブルビューではうまく見えますが、テーブルビューのスクロールまたはテーブルビューのスローアップのときに問題があります。lineViewポジションの変更。テーブルのスクロールまたはリロード後の位置の変更

func drowLine(_ cell: UITableViewCell)->UIView{ 
    let lineView = UIView(frame: CGRect(x: 20, y: cell.contentView.frame.size.height - 1.0, width: cell.contentView.frame.size.width - 40 , height: 1)) 
    lineView.backgroundColor = UIColor(red: 56/255, green: 66/255, blue: 72/255, alpha: 0.149) 
    return lineView 
} 


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: titleDisclosureIndicatorID, for: indexPath) as! TitleDisclosureIndicatorCell 
     //...... 
     cell.contentView.addSubview(drowLine(cell)) 
    return cell 
} 


class TitleDisclosureIndicatorCell: BaseTableViewCell { 

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
     super.init(style: .value1, reuseIdentifier: reuseIdentifier) 
    } 
    //..... 

} 

初期荷重テーブルビュー:

enter image description here

スクロールした後、行のいくつかの変更テーブルビューライン位置をリロード:

enter image description here

+0

どのように変更されますか? –

+0

@MilanNosáľ画像が –

答えて

1

細胞が再利用されているがそう私はラインを複数回追加し続けると推測します。 これとは別の方法で、サブクラスのRegistrationFormCellを使用する必要があります。あなたのストーリーボードファイルに行を追加すると、もう問題はありません。

+0

に追加されました。行のスクロールセルが再び呼び出されています。 – PoolHallJunkie

+0

それは正しいですが、私はプログラム的にuiデザインをしました。 –

+0

PoolHallJunkieは正しいですが、私はこれが唯一の問題ではないと思っています(生年月日と性別のセルで描かれた行を参照してください) –

関連する問題