【发布时间】:2014-05-15 03:02:07
【问题描述】:
我在UITableViewCell(动态原型,不确定是否需要澄清这一点)和background color 中有一个UIView,并使用以下代码(在cellForRowAtIndexPath 方法内)更改了view's frame:
UIView* verde = (UIView*) [cell viewWithTag:202];
verde.frame =CGRectMake(20, 30, x, y);
问题是当UITableView 第一次绘制时(当屏幕加载时)UIView 具有原始大小(默认情况下在情节提要的原始原型上建立)。但是当我向下滚动时,单元格离开屏幕,因此被另一个单元格重用。滚动回单元格时,再次调用cellForRowAtIndexPath,现在框架的大小正确。
我在更改框架后尝试调用[verde setNeedsDisplay];,但没有成功。
【问题讨论】:
-
你在使用自动布局吗?
-
你能把
cellForRowAtIndexPath代码放上去吗? -
禁用自动布局解决了这个问题,谢谢!
标签: ios objective-c uitableview uiview