关于在 iPhone 上使用自定义字体时改变上边距的问题
我正在使用 FontLabel 以自定义字体显示不同长度的文本。 我使用以下方法调整 FontLabel 的大小:
CGSize size = [myString sizeWithFont:[UIFont systemFontOfSize:[[[UIApplication sharedApplication] delegate] getFontSize]]
constrainedToSize:CGSizeMake(290, 4000)
lineBreakMode:UILineBreakModeWordWrap];
出于某种原因,这总是显示一个 Fontlabel,其中文本从顶部的不同空间开始。有时文本从正确的位置开始。其他时候,它要么显得太高,要么太低。
希望能够帮助您解决此问题。
I am using FontLabel to display varying lengths of texts in a custom font.
I size the FontLabel using the following :
CGSize size = [myString sizeWithFont:[UIFont systemFontOfSize:[[[UIApplication sharedApplication] delegate] getFontSize]]
constrainedToSize:CGSizeMake(290, 4000)
lineBreakMode:UILineBreakModeWordWrap];
For some reason, this always presents a Fontlabel where the text starts at a different space from the top. Sometimes the text begins at the correct location. Other times, it appears either too high or too low.
Would appreciate some help in how to solve this issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在这里猜测,但是您在 UITableViewCell 中使用它吗?这里的问题是 tableviewcells 被重复使用,因此您需要设置单元格的每个参数,这些参数可能由它的其他先前实例进行调整。第一次获得单元时,它是干净的,下次重新使用时,它可能会有上次使用的设置和内容。如果您向单元格添加子视图,这尤其是一个问题。确保仅在创建单元格时执行此操作,而不是在加载内容时执行此操作。如果它不是 tableviewcell,或者这没有帮助,请发布更多上下文。
I'm guessing here, but you are using it in a UITableViewCell ? The gotcha here is that tableviewcells are re-used, so you need to set every parameter of the cell that can possibly by adjusted by other previous instances of it. The first time you get a cell it is clean, the next time when it is re-used it may have settings and content from the previous use. This is especially a problem if you add subviews to your cell. Make sure you do that only when you create the cell, and not when you load it with content. If its not a tableviewcell, or this doesn't help, post a bit more context.