gpt4 book ai didi

ios - Swift:动态改变TableViewCell高度和动态改变WebView高度

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

我有一个 TableViewController,在 TableViewCell 里面,我有一个 UIWebView。我希望 UIWebView 显示来自互联网的一些内容,但我不想要滚动效果,我希望 WebView 具有基于长度的动态高度内容。此外,我希望 TableViewCell 能够根据 WebView 的动态高度动态调整其单元格高度。这可能吗?

这就是我实现TableViewController的方式:

class DetailTableViewController: UITableViewController {

var passPost: Posts = Posts()
var author: Author = Author()

override func viewDidLoad() {
super.viewDidLoad()

getAuthor()

}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("detailCell")

let postImageUrlString = passPost.postThumbnailUrlString
let postImageUrl = NSURL(string: postImageUrlString)
let size = CGSize(width: 414.0, height:212.0 )
let filter = AspectScaledToFillSizeFilter(size: size)
(cell?.contentView.viewWithTag(1) as! UIImageView).af_setImageWithURL(postImageUrl!, filter: filter)

//Set Author Avatar

let authorAvatarUrlString = author.authorAvatarUrlString
let authorAvatarUrl = NSURL(string: authorAvatarUrlString)

//Mark - Give Author Avatar a Round Corner

let filter2 = AspectScaledToFillSizeWithRoundedCornersFilter(size: (cell?.contentView.viewWithTag(2) as! UIImageView).frame.size, radius: 20.0)

(cell?.contentView.viewWithTag(2) as! UIImageView).af_setImageWithURL(authorAvatarUrl!, filter: filter2)


//Set Post Title and Content and so on

(cell?.contentView.viewWithTag(4) as! UILabel).text = passPost.postTitle
(cell?.contentView.viewWithTag(6) as! UIWebView).loadHTMLString("\(passPost.postContent)", baseURL: nil)

对于 heightForCellAtIndexPath 我做了

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! tableViewCell
tableView.rowHeight = cell.theWebView.scrollView.contentSize.height
return tableView.rowHeight
}

这工作正常,除了 WebView 具有滚动效果,并且高度由于 TableViewCell 的限制而受到限制。那么,如何实现我所需要的呢?

最佳答案

您需要在 UITableViewDelegate 方法中设置单元格的高度 tableView(_:heightForRowAt:)

您将在此方法中对每个单独的单元格高度进行所有计算并将其返回。如果您想完整显示 UIWebView 而无需滚动,您应该返回 UIWebView 的 ScrollView contentView 的高度 - 加上您可能希望在此单元格中显示的任何其他内容的高度。

关于ios - Swift:动态改变TableViewCell高度和动态改变WebView高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39100726/

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