2011-08-30 151 views
0

我正在創建一個像蘋果的「PageControl」的應用程序。 每個頁面內都有一個帶有另一個滾動視圖的滾動視圖。調整大小UIScrollView

UIScrollView * scrollForPage = [[UIScrollView alloc]init]; 
    scrollForPage.pagingEnabled = NO; 
    scrollForPage.contentSize = CGSizeMake(mainScroll.frame.size.width, 200 + mainScroll.frame.size.height+150); 
    scrollForPage.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 
    scrollForPage.clipsToBounds = YES; 

    CGRect frame = mainScroll.frame; 
    frame.origin.x = frame.size.width * page; 
    frame.origin.y = 0; 

    CGRect frame2 = frame; 
    frame2.origin.x = 0; 
    frame2.origin.y = 0; 

    controller.view.frame = frame2; 
    scrollForPage.frame = frame; 


    [scrollForPage addSubview:controller.view]; 

    [mainScroll addSubview:scrollForPage]; 
    [scrollForPage release]; 

但是我控制器的查看有一個動態的大小,我怎麼可以調整「scrollForPage」具有相同的尺寸?

由於

+0

我有一個疑問:究竟是什麼「控制器」?它是ViewController嗎?父級ScrollView? – Can

+0

它是ViewController,主視圖的foreach「頁面」scrollView – DaSilva

+0

你想要達到什麼目的? 您將pagingEnabled設置爲NO,但您指的是頁面。 即使滾動視圖的內容中的視圖大小可能具有動態大小,因此可能會強制您更改滾動視圖的內容大小,但您的scrollView的大小應該保持不變。 那到底是什麼呢? –

回答

1

檢測的視圖的大小的代碼是這樣的:

CGRect screenSize = [[UIScreen mainScreen] bounds]; 

只是要滾動視圖等於屏幕尺寸的幀,並且經常調用上述線。

+0

它不工作,具有相同的行爲..我做了這個變化: – DaSilva

+0

(code)CGRect screenSize = [[UIScreen mainScreen] bounds]; screenSize.origin.x = frame.origin.x = frame.size.width * page; scrollForPage.frame = screenSize; (code) – DaSilva

+0

但滾動視圖仍不會調整到視圖的大小.. – DaSilva

相關問題