gpt4 book ai didi

ios - 如何增加特定部分中特定单元格的高度

转载 作者:行者123 更新时间:2023-11-28 10:08:22 25 4
gpt4 key购买 nike

如何在特定部分(我的第二部分是 Swift 图像)增加特定单元格(在 UITableView 中)的高度。我不知道是否可以将我的单元格设置为自动调整大小,但我现在想要的只是增加该单元格的大小,因为我看不到里面的任何东西。我的应用程序看起来像这样: Cell is too small

我想增加里面有 WebView 的单元格的大小。

这是我的代码:

extension DetailsViewController: UITableViewDelegate, UITableViewDataSource{

func numberOfSections(in tableView: UITableView) -> Int {
return 2
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

switch section {
case 0: return 6
case 1: return 1
default:
return 0
}
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

switch indexPath.section{
// Section 1: Repository Details
case 0:

let cell = detailsTableView.dequeueReusableCell(withIdentifier: "repoDetailsCell", for: indexPath) as! DetailsTableViewCell

// Set each row from first section
switch indexPath.row{

case 0:

cell.avatarImageView.downloadedFrom(link: "\(selectedRepo.owner.avatarURL)")

if indexPath.row == 0{
self.detailsTableView.rowHeight = 60
}

cell.textLabel?.isHidden = true
cell.detailTextLabel?.text = selectedRepo.description
cell.textLabel?.numberOfLines = 0
cell.detailTextLabel?.numberOfLines = 0
return cell
case 1:
cell.textLabel?.text = selectedRepo.description
cell.textLabel?.numberOfLines = 0
cell.detailTextLabel?.isHidden = true
return cell
case 2:
cell.textLabel?.text = "Open Issues"
cell.detailTextLabel?.text = String(selectedRepo.openIssuesCount)
return cell
case 3:
cell.textLabel?.text = "Forks"
cell.detailTextLabel?.text = String(selectedRepo.forksCount)
return cell
case 4:
cell.textLabel?.text = "Watchers"
cell.detailTextLabel?.text = String(selectedRepo.watchersCount)
return cell
case 5:
cell.textLabel?.text = "URL"
cell.detailTextLabel?.text = selectedRepo.htmlURL
cell.detailTextLabel?.textColor = UIColor.blue
cell.detailTextLabel?.numberOfLines = 0
return cell
default:
return cell

}

// Section 2: Webview
case 1:

let cell = tableView.dequeueReusableCell(withIdentifier: "repoWebviewCell", for: indexPath) as! DetailsTableViewCell

// Set the WebView from Section 2
switch indexPath.row{
case 0:

UIWebView.loadRequest(cell.webView)(NSURLRequest(url: NSURL(string: "\(selectedRepo.htmlURL)/blob/master/README.md")! as URL) as URLRequest)


return cell
default:
return cell
}

default: return UITableViewCell()
}
}

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}


}

最佳答案

实现 heightForRowAt 委托(delegate)方法。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == someSection && indexPath.row == someRow {
return someBiggerHeight
} else {
return tableView.rowHeight // return the standard height for all others
}
}

如果您需要检查多个索引路径,那么使用 switch 会更容易:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
switch indexPath {
case [someSection, someRow]:
return someBiggerHeight
case [someOtherSection, someOtherRow]:
return someOtherBiggerHeight
default:
return tableView.rowHeight // return the standard height for all others
}
}

关于ios - 如何增加特定部分中特定单元格的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50786223/

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