我在viewDidLoad()
:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return 300.0
}
return 100.0
}
但这没效果
答案 0 :(得分:1)
在Swift 3中以下列方式编写代码 行的高度是一个tableView委托方法,所以你这样做。不写在ViewDidLoad方法里面,你可以写在viewDidLoad方法之外
导入UIKit
class ProfileViewController: UIViewController,ProfileViewControllerDelegate {
//MARK: - Outlet -
@IBOutlet weak var tblView: UITableView!
//MARK: - View Life Cycle -
override func viewDidLoad() {
}
//MARK: TablView Delegate
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return 300.0
}
return 100.0
}
答案 1 :(得分:0)
这是简单tableView的示例,第一行高度为300,其他为100。
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "CellID") as UITableViewCell!
cell.textLabel?.text = "testing"
return cell
}
// method to run when table view cell is tapped
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("You tapped cell number \(indexPath.row).")
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return 300.0
}
return 100.0
}
}