我试图将图像设置为UITableView的标题,尽管标题的大小不会调整为图像的大小。基于大量的研究(见我的编辑),我使用的相关代码如下:

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let frame = CGRectMake(0, 0, 300, 150)
    let headerImageView = UIImageView(frame: frame)
    let image: UIImage = UIImage(named: "reminder3.png")!
    headerImageView.image = image
    return headerImageView
}

func tableView(tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {

    return 150
}

它将图像添加到页眉,我可以调整页眉的大小,但无论我设置的高度值(当前为300)是什么,它始终保持不变的大小。默认的头大小。我无法调整标题以匹配我的UIImage大小。所以,我试着添加这个方法:
有人知道一个简单的方法来完成这个任务吗?

最佳答案

您应该改为使用func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat,如下所示:

let img = UIImage(named: "image")!

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return UIImageView(image: img)
}

func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    let w = view.frame.size.width
    let imgw = img.size.width
    let imgh = img.size.height
    return w/imgw*imgh
}

仅当您不知道确切的高度时才使用estimatedHeightForHeaderInSection,它主要用于确定UITableView的滚动条位置。

关于ios - 调整放置在UITableView标题中的UIImage大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34360015/

10-16 15:07
查看更多