0

我有一个UIPageController放在我的 xib 文件中,所以我可以正确放置,但是在 xib 中设置的“currentPage”的值是 currentPage 在我尝试将其设置为其他值时假定的值,如下所示,UIScrollView当从中间开始时(即不是第 0 页)将 my 设置为正确的初始图像的代码行:

aScrollView.contentOffset = CGPointMake((currentIndex + 0.0) * screenWidth, 0.0);

调用

-(void) scrollViewDidScroll: (UIScrollView*) aScrollView
{
    // Update the page control to match the current scroll:
    CGPoint offset = aScrollView.contentOffset;
    float width = self.view.frame.size.width;
    int pageNumber = (int)(offset.x / width);
    uiPageControl.currentPage = pageNumber;
    NSLog(@"%g // %g = %d", offset.x, width, (int)(offset.x/width));

}

pageNumber 整数是正确的,所以我从偏移量中正确计算了所需的页码。但是,当我尝试手动(以编程方式)设置 currentPage 时,它​​没有设置为 pageNumber,而是设置为 xib 中的值。

简单的解决方案是不使用 xib 并以编程方式完成所有操作,但我想知道如何继续UIPageController在 xib 中使用,因为在不知道坐标等的情况下很容易放置。通常,在 xib 中设置的属性是以编程方式可覆盖,所以这个错误真的让我感到惊讶。关于如何正确设置 currentPage 的任何建议?

谢谢你的帮助!

4

1 回答 1

0

我发现了一个可以暂时解决我的问题的技巧:在 xib 中,我将“页数”值设置为我知道会高于我将拥有的页数的值。

如果这太小,事实证明将 currentPage 设置超过该值并没有做任何事情,因为它正在钳制或将其设置为低于我在 xib 中的页数的某个数字。

如果我将此 xib 属性设置得更高,则设置 currentPage 有效。

抱歉快速触发。

于 2013-10-24T10:06:10.167 回答