0

私のカスタムUITableViewCellでは、メソッド(void)layoutSubviewsを書き換えます。このメソッドでは、新しいサブビューの位置を設定します:

for (NSUInteger i = 0; i < views.count; ++i) {
    ViewData *viewData = (ViewData *)[views objectAtIndex:i];

    CGFloat x_pos = i <= currentViewPos ? 0 : contentViewWidth;
    viewData.x_current = x_pos + viewData.width * viewData.x_anchor;

    [viewData.view setCenter:CGPointMake(viewData.x_current, viewData.view.center.y)];

    if (i < currentViewPos) {
        [viewData.view setAlpha:0.5f];
    } else {
        [viewData.view setAlpha:1.0f];
    }
}

テーブルが最初にロードされたとき - すべてのアイテムは正しい位置にありますが、アイテムを押して次のビューコントローラーを押してテーブルに戻ると、2番目と次のサブビューが画面に表示されません。Alpha プロパティのみが正しくなります。ただし、layoutSubviews が呼び出されます。UITableView をスクロールしようとすると、再描画されたアイテムが正しく表示されます。

私は何を間違っていますか?

ありがとう!

4

0 に答える 0