2011-06-07 35 views
0

在我看来我有一个scrollView作为子视图。 scrollView有另一个子视图叫做PDFView。它用于显示PDF页面。
此视图有2个子视图。 drawImage是在整个PDF视图上从磁盘加载的图像。
而paintView是所有绘画和标记完成的第二个子视图。 但我只想添加paintView,当我按下油漆按钮。
这是有效的,但是当我再次按下它来停止绘画模式并从超级视图中移除视图时,整个屏幕变白。
我怎样才能绕过?当我删除子视图时,为什么我的视图变成白色?

- (id)init 
{ 
    ... 
    [self.view addSubview:theScrollView]; 
    [theScrollView addSubview:thePDFView]; 

    drawImage = [UIImage imageWithData:retrievedData]; 
    [thePDFView addSubview:drawImage]; 

    paintView = [[PaintViewController alloc] initWithImage:drawImage andPath:pageString]; 
} 

- (void) togglePainting:(NSNotification *)notif { 

if (!painting) { 
    theScrollView.scrollEnabled = false; 
    [thePDFView addSubview:paintView.view]; 
} 
else { 
    theScrollView.scrollEnabled = true; 
    [thePDFView removeFromSuperview]; 
} 

painting = !painting; 
} 

回答

2
[thePDFView removeFromSuperview]; 

删除整个视图这是留给你什么,但其中没有任何子视图现在滚动视图滚动视图内。因此你的观点是白色的。我想你只想删除paintView.view所以它应该是[paintView.view removeFromSuperview];

+0

啊,就是这样!谢谢!整个观点让我发疯了... – madmax 2011-06-07 10:35:52

相关问题