根据iOS 7中的单元格文本计算单元格高度

根据iOS 7中的单元格文本计算单元格高度,第1张

概述有很多解决方案使用“sizeWithFont”或类似的东西,从iOS 7开始就不赞成使用. 这是我到目前为止拼凑的一些代码.高度变化,但完全没有变化: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *Ce 有很多解决方案使用“sizeWithFont”或类似的东西,从iOS 7开始就不赞成使用.

这是我到目前为止拼凑的一些代码.高度变化,但完全没有变化:

- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath{static Nsstring *CellIDentifIEr = @"Cell";UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:CellIDentifIEr forIndexPath:indexPath];// Configure the cell...cell.textLabel.text = "The Cell's Text!";cell.textLabel.numberOflines = 0;[cell.textLabel setlineBreakMode:NSlineBreakByWorDWrapPing];[cell.textLabel sizetoFit];return cell;}- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath;{CGRect screenBounds = [[UIScreen mainScreen] bounds];CGSize screenSize = screenBounds.size;NSAttributedString *aString = [[NSAttributedString alloc] initWithString:"The Cell's Text!"];UITextVIEw *calculationVIEw = [[UITextVIEw alloc] init];[calculationVIEw setAttributedText:aString];CGSize size = [calculationVIEw sizeThatFits:CGSizeMake(screenSize.wIDth,FLT_MAX)];return size.height;}

再举一个例子,这里有一个类似的答案:https://stackoverflow.com/a/9828777/693121虽然如前所述,但它使用了弃用的代码.

解决方法 您应该使用文档中提到的方法来替换旧的 – boundingRectWithSize:options:attributes:context:.这是一个我认为应该工作的例子(无论如何它适用于多行标签).
- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath {    NsstringDrawingContext *ctx = [NsstringDrawingContext new];    NSAttributedString *aString = [[NSAttributedString alloc] initWithString:@"The Cell's Text!"];    UITextVIEw *calculationVIEw = [[UITextVIEw alloc] init];    [calculationVIEw setAttributedText:aString];    CGRect textRect = [calculationVIEw.text boundingRectWithSize:self.vIEw.frame.size options:NsstringDrawingUseslineFragmentOrigin attributes:@{NSFontAttributename:calculationVIEw.Font} context:ctx];        return textRect.size.height;  }

这假定您希望文本视图的大小为self.vIEw.如果没有,您应该为文本视图使用initWithFrame,并为boundingRectWithSize:参数传递calculateVIEw.frame.size.

总结

以上是内存溢出为你收集整理的根据iOS 7中的单元格文本计算单元格高度全部内容,希望文章能够帮你解决根据iOS 7中的单元格文本计算单元格高度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存