1

パフォーマンス上の理由から (サブクラス化された 内で)、サブビューを追加するのではなく、 でUITableViewCellテキストを直接描画することを試しています。drawRectUILabel

向きが変わったときにテキストを再描画するために、ビューcontentModeUIViewContentModeRedraw次のように設定しました。

- (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 の動作を模倣する方法はありますか?

4

1 に答える 1