NSString drawInRect : 文本没有被剪裁到给定的高度
Posted
技术标签:
【中文标题】NSString drawInRect : 文本没有被剪裁到给定的高度【英文标题】:NSString drawInRect : text is not clipped to the given height 【发布时间】:2012-04-03 12:44:05 【问题描述】:我正在使用 NSString drawInRect 函数绘制文本,如下所示
[nsStrToDraw drawInRect:cgRect withFont:uiFont lineBreakMode:UILineBreakModeCharacterWrap alignment: UITextAlignmentLeft];
//nsStrToDraw 是“回车” //ui字体大小为32 //并且cgRect是(100, 100, 100, 20);
问题在于,即使边界矩形 (cgRect) 的高度为 20,文本也不会被剪裁到给定的高度,而是以适合的高度绘制。
注意:文本被剪裁到给定的宽度,只是它似乎没有剪裁到给定的高度。
关于如何解决这个问题的任何想法?
谢谢,
【问题讨论】:
【参考方案1】:在绘制文本之前添加您自己的剪切矩形,使用CGContextClipToRect
。
【讨论】:
谢谢,我也有过这样的想法。我想知道这是否可以在 drawInRect 函数本身中修复,或者是否有任何其他方式.. 看起来没有。【参考方案2】:UIView
s 不会剪辑他们的内容,除非你设置了clipsToBounds = YES
。
【讨论】:
以上是关于NSString drawInRect : 文本没有被剪裁到给定的高度的主要内容,如果未能解决你的问题,请参考以下文章
drawInRect: withAttributes 文本垂直居中或放置一些填充
drawAtPoint: 和 drawInRect: 模糊文本
使用 drawInRect:withAttributes 对齐文本: