2011-12-29 106 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)];