2011-08-30 117 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

相关问题