gpt4 book ai didi

ios - 如何使用 swift 4 在 ios 11 中动态更改 tableview 节标题大小?

转载 作者:行者123 更新时间:2023-11-30 12:00:28 26 4
gpt4 key购买 nike

我正在创建一个可扩展的表格 View 。我为每个部分添加了部分和行。创建了一个用于样式部分的 xib 文件,它可以在 iphone 5s 中正常工作。但是当我切换到 iphone 8s 时,我的部分仍保持 iphone 5s 的大小,并且宽度不会更改为桌面 View 。我设置了约束,我的一些代码如下: enter image description here

override func viewDidLoad() {
super.viewDidLoad()
self.homeMenuTableView.backgroundColor = UIColor(red: 0.0196, green: 0.1059, blue: 0.1647, alpha: 1.0)
let px = 1 / UIScreen.main.scale
let frame = CGRect(x:0,y:0,width: self.homeMenuTableView.frame.size.width,height: px)
let line = UIView(frame: frame)
self.homeMenuTableView.tableHeaderView = line
line.backgroundColor = self.homeMenuTableView.separatorColor
homeMenuTableView.tableFooterView = UIView()
homeMenuTableView.dataSource=self
homeMenuTableView.delegate=self
}


func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 44
}

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let header = ExpandableHeaderView()
header.customInit(title: sections[section].menuCellLabel, section: section, delegate: self)
return header
}

func customInit(title: String, section: Int, delegate: ExpandableHeaderViewDelegate) {
let cell = Bundle.main.loadNibNamed("MenuTableViewCell", owner: self, options: nil)?.first as! MenuTableViewCell
let menucell = DataService.instance.getMenuCells()[section]
cell.updateViews(menuCell: menucell)
self.addSubview(cell)
self.section = section
self.delegate = delegate
}

最佳答案

您正在从 xib 加载单元格,但没有为其分配框架。因此它需要 XIB 中单元格的宽度

func customInit(title: String, section: Int, delegate: ExpandableHeaderViewDelegate) {
let cell = Bundle.main.loadNibNamed("MenuTableViewCell", owner: self, options: nil)?.first as! MenuTableViewCell
let menucell = DataService.instance.getMenuCells()[section]
cell.updateViews(menuCell: menucell)
//Add this line in your code width issue will resolve
cell.frame.size.width = tableView.frame.width

self.addSubview(cell)
self.section = section
self.delegate = delegate
}

关于ios - 如何使用 swift 4 在 ios 11 中动态更改 tableview 节标题大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47302723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com