【发布时间】:2013-04-22 12:03:33
【问题描述】:
我在自定义开发的 UI 控件中使用 tableview。
我的 tableView 的默认框架是 {0,0,0,0}..所以它不可见..我正在使用 UIview 的动画类方法和块 (animateWithDuration:delay:..etc..) 为这个 tableview 设置动画“进入屏幕”。动画块仅包含 frame.size 更改为 {0,0,320,250}。所以很明显,随着tableview框架的改变,一些单元格变得可见。
此外,我有一个自定义 UIView,其中包含四个 UILabel。标签正在捕捉到底部。 在 cellForRowAtIndexPath 中:我将此自定义视图添加到单元格的内容视图中,并调整此自定义视图的大小以匹配内容视图框架。
customView.frame = cell.frame;
[cell.contentView addSubview:customView];
我的问题是,由于单元格的高度不同,(在 heightForRowAtIndexPath 中解决)... 在主动画期间,特定单元格中的特定自定义视图正在更改其框架,有效地将标签垂直向下移动几个像素。
我希望他们在我展示 tableview 时已经在他们的位置上。~
如何做到这一点?
【问题讨论】:
-
你在这里想要什么样的视觉效果?如果滑动到位效果(其内容相对于移动视图保持在原位),而不是成长到位(内容必须从零大小开始并拉伸),听起来百合你可能想要更多。如果是这种情况,也许您的表格应该保持其 size 不变,并从屏幕外某处开始为其 position 设置动画。
标签: ios cocoa-touch uitableview