如何获取有关UIScrollView中页面的信息?

时间:2010-10-18 11:00:58

标签: iphone objective-c cocoa-touch ios uiscrollview

我有大约10种不同的方法,它们都在它们之间传递“page”和“index”,以便定义一个包含多个页面的ScrollView。这些方法中的大多数都在循环内运行(对于每个页面)。

我正在研究根据设备方向重新定位和重新定位页面的方法。我现在的麻烦是试图访问这些多个页面,这样我就可以运行一个方法来重新定位它们。有没有办法遍历页面并访问它们的信息(大小,框架,contentSize等),以便我可以操纵它们?

2 个答案:

答案 0 :(得分:1)

您可以将每个视图的指针放入数组中。然后遍历数组配置像这样的视图:

-(void)configScrollViewForOriantation:(UIInterfaceOrientation)interfaceOrientation

    //do an if on the oriantation and supply 2 versions...
    //eg..

    if(UIInterfaceOrientationIsPortrait(interfaceOrientation))
    {    
    CGRect f;
    for (UIViewController *page in pageArray) {


    f = page.frame;
    f.size.width = ..;
    f.origin.x = ....;

    page.contentSize = CGSizeMake(newWidth,newHeight)

    //etc

    }
else{
//landscape config
}

}

NB。如果您在CAAffine动画中调用此方法,它也会为更改设置动画。

理想情况下,您应该只制作一个for循环,并根据方向为您要进行的配置设置一些常量。

答案 1 :(得分:0)

创建一个知道模型数据的类,并将其划分为编号页面。现在在您的方法之间传递该对象,而不是原始页面/索引值。现在扩展该对象以使用其他方向。