- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在尝试使用自定义单元格制作表格 View 。制作它的主要目标是根据文本大小改变的标签高度按比例调整表格 View 单元格的高度。当我使用下面的代码运行我的应用程序时,它看起来进展顺利。但是 getStringHeight 方法有时无法识别单元格的行。即使行数只有一行,该方法也会分配两行单元格,这使得单元格没有必要的空间。
我认为如果它能识别两行,则该行超过 3/4 的地方充满了一行文本。我想我使用 Apple SD Gothic (Family) 中包含的韩文字体。但我可以在 UIFont(name: "", size:) 中输入确切的名称,因为它无法识别它。
你能帮我吗?这是一个非常重要的项目。我彻夜未眠,但我还没有想出解决这个问题的办法。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
let rowNum = downloadedContents!.count - indexPath.row - 1
let sizeFactory = UINib(nibName: "DownLoadPlayViewControllerCell", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as? DownLoadPlayViewControllerCell
sizeFactory!.frame.size.height = 300
var bounds = CGSize(width: tableView.bounds.width, height: 78.5)
let pod = self.pods[rowNum]
if(sizeFactory != nil)
{
let top = sizeFactory?.programLabel.frame
let bottom = sizeFactory?.dateFilesizeLabel.frame
var labelSize = getStringHeight(pod.contentTitle!, fontSize: 13.0, width: sizeFactory!.titleLabel.frame.width)
let totalCellHeight = labelSize + top!.height + bottom!.height + 28.0
bounds.height = totalCellHeight
}
return bounds.height
}
func getStringHeight(mytext: String, fontSize: CGFloat, width: CGFloat) -> CGFloat
{
let font = UIFont(name: "Apple SD Gothic Neo", size: fontSize)
let size = CGSizeMake(width,CGFloat.max)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = .ByWordWrapping;
let attributes = [NSFontAttributeName:font! as UIFont,
NSParagraphStyleAttributeName:paragraphStyle.copy()]
let text = mytext as NSString
let rect = text.boundingRectWithSize(size, options:.UsesLineFragmentOrigin, attributes: attributes, context:nil)
return rect.size.height
}
最佳答案
我可能建议您使用:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 60
这将自动调整单元格的高度,而无需查找文本的高度。您可以将这两行放在 viewDidLoad 上作为估计行高,它可以帮助您渲染。
关于与填充文本的标签高度成比例的快速动态表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40189092/
以下问题:我有一个包含很多 div 的滚动页面。每个 div 都有一个 bg-image 和另一个带有文本的 div。 blabla anothe
在 CSS 中是否可以按比例设置一个属性到另一个属性?我知道我可以用 java-script 做到这一点,但如果用 CSS 可以做到这一点,我会很高兴。 例如:width:10 % height; 如
我正在尝试设置一个看起来像这样的约束(红色父 View 中的 subview 白色): 我将如何在界面生成器中执行此操作(最好),如果不可能则编写代码,但我应该将什么作为宽度来让 IB 满意? 我试过
我试图将 View 元素放置在 UIImageView 中,然后对 UIImageView 的宽度进行动画处理以填充 super View 。我正在使用自动布局约束来定位 View 并为其设置动画。在
我是一名优秀的程序员,十分优秀!