在我的自定义 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 - 重绘的项目将正确显示。
我做错了什么?
谢谢!