自定义UITableViewCell和子视图位置

时间:2013-04-03 16:37:22

标签: ios objective-c uitableview subviews layoutsubviews

在我的自定义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];
    }
}

当我的桌子第​​一次加载时 - 所有项目都有正确的位置,但当我按下某个项目,然后按下一个视图控制器,然后返回到我的表格 - 第二个和下一个子视图在屏幕上不可见。只有Alpha属性才是正确的。但是调用layoutSubviews。 如果我尝试滚动我的UITableView - 重绘的项目将正确显示。

我做错了什么?

谢谢!

0 个答案:

没有答案