2011-12-29 102 views
0

我有一个滚动视图和它的初始化;添加一个滚动视图

scrollV = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 

在应用后,我添加一个UIView,我需要了UIView采取滚动视图的高度和宽度。 (由于scrollView可以非常长,我不能硬编码值)

所以我试过这个;

justAnotherView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.scrollV.frame.size.width, self.scrollV.frame.size.height)]; 

但是,它没有采用scrollview的大小(滚动视图的总大小)。它只显示部分屏幕(宽度320和高度460)。这是因为我上面写的初始化语句scrollV?我怎样才能纠正这一点?

回答

1

您可能需要使用的UIScrollView的contentSize属性。

... initWithFrame:CGMakeRect(0,0,scrollV.contentSize.width, scrollV.contentSize.height) ... 
0

如何

justAnotherView = [[UIView alloc] initWithFrame:self.scrollV.frame]; 
+0

不应该'CGRectMake(0,0,self.scrollV.frame.size.width,self.scrollV.frame.size.height)'和'self.scrollV.frame'是一样的吗? – Illep 2011-12-29 18:19:02

+0

根本不是。 X和Y与scrollV不一样。 – 2011-12-29 18:22:38

+0

实际上,如果他只是将另一个视图添加为scrollV的子视图,那么这将不起作用,因为justAnotherView的x和y是相对于其父项。如果只是将其他视图添加为子视图,那么Illep就做了正确的事情。 – Jeremy 2011-12-29 18:29:19

0

我假设你添加justAnotherView作为一个子视图到scrollV

正如你为justAnotherView,你应该设置scrollV的点和相对大小其父。它应该是这个样子:

scrollV = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,parent.frame.size.width,parent.frame.size.height)];