从Scroll视图中删除视图时,UI不会刷新

时间:2011-02-21 07:34:13

标签: iphone objective-c uiscrollview

我有两个滚动视图,一个水平滚动,一个垂直滚动。我将视图添加到其中一个滚动视图并显示它。当用户单击后,我从其中一个滚动视图中删除视图,并将其作为缩略图添加到其他滚动视图。

代码如下:

for(UIView *views in verticalScrollView.subviews)
{
    [views removeFromSuperview];

}   

for(UIView *views in horizontalScrollView.subviews)
{
    [views removeFromSuperview];
}

但是滚动视图已创建,但仍可在后台查看prev滚动视图中的视图。如何从滚动视图中完全刷新/删除它们。我没有任何其他参考意见。

编辑:

下面介绍的方法不起作用。我从滚动视图中删除子视图。但是,图像仍然在后台可见。

2 个答案:

答案 0 :(得分:2)

尝试使用:

for(UIView *subview in [verticalScrollView subviews]) 
{
    if([subview isKindOfClass:[UIButton class]]) {//Or whatever kind of control you want to remove
        [subview removeFromSuperview];
    } else {
    // Do nothing - if not a control subclass instance, you want to remove
   }
 }

答案 1 :(得分:1)

尝试检查:

- (void)setNeedsDisplay