2011-03-10 27 views
2

我已經使用UITabBar模板構建了一個應用程序。我有幾個tabbar項目,一個項目顯示一個視圖。該視圖具有UIScrollView元素,該元素啓用了分頁,以模仿iPhone跳板的行爲,即可從左向右滾動的頁面。如何調整UIScrollView的大小,使其不是100%的父UIView?

我想放入一個UIPageControl,所以我調整了UIScrollView的大小,使它比父UIView高度略短,並且在它下面放置了一個UIPageControl。

當我運行應用程序時,UIScrollView始終是父UIView的高度的100%,我看不到UIP​​ageControl。

我得在選項卡的視圖控制器我viewDidLoad方法如下代碼:

UIScrollView *tempScrollView=(UIScrollView *)self.view; 
tempScrollView.contentSize=CGSizeMake(640,377); 

這臺內容的大小確定,我可以滾動從左到右。我試過添加:

tempScrollView.frame=CGRectMake(0, 0, 640, 377); 

要調整滾動視圖的大小,但仍顯示100%。參見下圖顯示的問題:

example

回答

0

我想你不應該調整框架,以640,377,因爲它將使尋呼停止工作,一旦contentSize將是相同的幀大小。

一個解決方案是在接口生成器中設置所需的幀大小(如最左邊的圖)並設置適當的自動調整掩碼。我客串你正在尋找的是下面

The most important part is the locked bottom margin

要檢查是否更改工作,我會用高度明顯較小的一個UIScrollView的配置,只是爲了確保該行爲是需要的。

+0

我已經在視覺上調整的UIScrollView的母公司視線的高度的三分之二。我已將滾動視圖的背景設置爲紅色。我還按照您的建議設置了自動調整大小選項,但是當我運行應用程序並切換到該選項卡時,UIScrollView仍會填充整個視圖。 UITabBar是否以某種方式操縱我的觀點? – Camsoft 2011-03-10 14:44:19

+0

如果視圖沒有被一些代碼指令調整大小,我沒有任何其他假設。嘗試禁用superview的autosize子視圖屬性。 – 2011-03-11 01:23:27

0

如果你希望你的視圖滾動您需要更改tempScrollView.contentSize要大於tempScrollView.frame

如果你這樣做:

CGFloat contentWidth = tempScrollView.frame.size.width*2; 
tempScrollView.contentSize=CGSizeMake(contentWidth,377); 

您將有2頁。

您需要激活頁面太:

[tempScrollView setPagingEnabled:TRUE];