私は動的に行の高さを調整することに1つの問題に直面しています。私はこの方法を使用することによって、我々はUITableview自動調整行問題Swift IOS?
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 44.0;
を達成することができます知っているが、私の場合は私がUITableViewCell
ためXIB
ファイルを使用していますが、私はセルに影を追加しています。この場合、行の高さを動的に追加する方法。同時に、サーバーの時間に基づいて、私はボタンを表示したり隠したりしています。ですから誰も私にこの問題を解決する方法を教えてください。これは行インデックスメソッドのための私のセルです。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "Custom"
var cell: PApplyLeaveTableViewCell! = tableView.dequeueReusableCell(withIdentifier: identifier) as? PApplyLeaveTableViewCell
if cell == nil {
tableView.register(UINib(nibName: "PApplyLeaveTableViewCell", bundle: nil), forCellReuseIdentifier: identifier)
cell = tableView.dequeueReusableCell(withIdentifier: identifier) as? PApplyLeaveTableViewCell
}
cell.selectionStyle = UITableViewCellSelectionStyle.none
cell.contentView.backgroundColor = UIColor.clear
var localDic :NSDictionary!
localDic = totlLeavesArray.object(at: indexPath.row) as! NSDictionary
cell.acknowled_lbl.text = localDic["acknowledgement"] as? String
cell.date_lbl.text = localDic["totalDate"] as? String
cell.reason_lbl.text = localDic["reason"] as? String
let compareDate = localDic["compare"] as? String
if(compareDate == "No")
{
cell.delet_Btn.isHidden = true
cell.edit_Btn.isHidden = true
}
else
{
cell.delet_Btn.isHidden = false
cell.edit_Btn.isHidden = false
}
cell.edit_Btn.tag = indexPath.row
cell.edit_Btn.addTarget(self, action: #selector(PApplyLeaveViewController.EditViewAction(_:)), for:.touchUpInside)
cell.delet_Btn.tag = indexPath.row
cell.delet_Btn.addTarget(self, action: #selector(PApplyLeaveViewController.DeleteAction(_:)), for:.touchUpInside)
let whiteRoundedView : UIView = UIView(frame: CGRect(x: 5, y: 8, width: self.view.frame.size.width - 15, height: 220))
whiteRoundedView.layer.backgroundColor = CGColor(colorSpace: CGColorSpaceCreateDeviceRGB(), components: [1.0, 1.0, 1.0, 0.9])
whiteRoundedView.layer.masksToBounds = false
whiteRoundedView.layer.cornerRadius = 2.0
whiteRoundedView.layer.shadowOffset = CGSize(width: -1, height: 1)
whiteRoundedView.layer.shadowOpacity = 0.2
cell.contentView.addSubview(whiteRoundedView)
cell.contentView.sendSubview(toBack: whiteRoundedView)
cell.contentView.backgroundColor = UIColor.clear
return cell
}
まずはお返事ありがとうございます。あなたの提案を試してみましょう。 – Ram
たとえば、ラベルやボタンのuitableviewcellバックグラウンドビューの内部に1つのUIを表示しています。私はここまでそのビューのための影を設定します。しかし、私の場合は、ボタンが時々表示され、時にはその行の高さを調整する時間を非表示にする – Ram
私の答えで言うように、メソッド1を使用して、デリゲートで直接行の高さを指定するか、ビューをセルに結びつけて高さを決定できるようにします。 –