パフォーマンス上の理由から (サブクラス化された 内で)、サブビューを追加するのではなく、 で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];
}
スクロールがはるかに高速になり、すべてが完全に機能します。
問題は、ビューがインターフェイス方向の回転アニメーションをアニメーション化している間、テキストがゆがんだり伸びたりして見えることです。オリエンテーションの前後は見栄えがしますが、アニメーション中は不安定です。
ビューが伸びるのを防ぎ、基本的にインターフェイスが回転したときの UILabels の動作を模倣する方法はありますか?