出于性能原因(在我的子类UITableViewCell
中),我正在尝试直接使用 绘制文本drawRect
,而不是添加UILabel
子视图。
为了在方向改变时重绘文本,我将视图设置contentMode
为UIViewContentModeRedraw
:
- (id)initWithFrame(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setContentMode:UIViewContentModeRedraw];
}
return self;
}
- (void)drawRect:(CGRect)rect
{
[@"foo" drawInRect:CGRectInset(rect, 10, 10)
withFont:[UIFont systemFontOfSize:14]
lineBreakMode:NSLineBreakByWordWrapping];
}
现在滚动速度要快得多,而且一切正常 -几乎.
问题是:当视图为其界面方向的旋转动画制作动画时,文本出现了warped/stretched。它在定向前后看起来很棒,但在动画过程中却很不稳定。
有什么办法可以防止视图拉伸,并且基本上模仿UILabels在界面旋转时的行为方式?