2009-12-06 82 views
0

我在UIScrollView中有一个子视图,看起来每次我缩小或在内容视图中视图都会失真。正如Brad Larson所描述的here,我必须设置一些变换值并重新绘制内容视图。现在我的问题是如何重绘我的内容视图。 UIScrollView的内容视图是一个包含UIButtons子视图的UIView。我应该从我的UIScrollView中删除该UIView,然后再次添加?如何重绘UIScrollView的内容视图

谢谢。

回答

1

我相信你想要的是

[view setNeedsDisplay]; 

[view setNeedsDisplayInRect:(CGRect)myRect]; 
+0

非常感谢。我会尝试这一个,我会问你是否能解决我的问题。再次感谢。 =) – domlao 2009-12-06 23:59:57

+2

实际上,这不会有帮助,因为UIButtons需要调整其框架以反映更改后的比例因子。简单地刷新它们将无能为力。 – 2009-12-07 03:03:29

2

什么你想要做的是手动调整和重新布局每个按钮来说明新的比例因子的UIScrollView已经在-scrollViewDidEndZooming中显示了你:withView:atScale:delegate方法。

这可以通过循环遍历UIButtons并使用新的计算位置和大小调整其框架来完成。 UIButtons将在新的比例因子下重新绘制自己。

+0

我明白了,所以我必须使用UIButtons去除主UIView或内容视图,然后再次分配UIView并在UIView中添加每个UIButton,然后使用CGRectMake设置每个UIButton的框架? – domlao 2009-12-07 05:15:18

+1

不,不需要删除任何视图。只需将UIButtons的框架设置为新的尺寸和位置,并将整体视图的尺寸设置为匹配。一切将根据需要重绘。 – 2009-12-07 13:34:21

+0

谢谢。但它的怪异整个视野消失了。我在你的回答中完全按照你的建议做了,但是整个观点都消失了。 – domlao 2009-12-07 22:01:09

相关问题