如何让UIScroll视图只有水平和垂直滚动?

时间:2012-11-19 04:07:33

标签: iphone objective-c uiscrollview

例如,我有9个网格。它的顺序如下:

7 8 9

4 5 6

1 2 3

如果我在5位置,用户现在可以使用一个滚动滚动到3。但我想限制它们只滚动到6,然后转到3或滚动到2,然后滚动到3。这不允许他们只滚动到3

有关如何实施它的任何想法?

1 个答案:

答案 0 :(得分:0)

您自己的逻辑+以下UIScrollview的以下三个属性将帮助您实现目标。

yourScroller.directionalLockEnabled = YES;
yourScroller.pagingEnabled = YES;
[yourScroller scrollRectToVisible:yourFrame animated:YES];  

<强> ExampleCode:

-(void)changeAndIncrementBottomScrollerPage{

    //maximum number of pages is 3
    if (3 != UpAndDownPager.currentPage) {      

        int page = UpAndDownPager.currentPage + 1;
        CGRect frame = scroller.frame;  
        frame.origin.y  = frame.size.height * page;

        if (0 != sidePager.currentPage) {

            frame.origin.x = frame.size.width * (sidePager.currentPage);
        }

        [yourScroller scrollRectToVisible:frame animated:YES];      
        UpAndDownPager.currentPage = UpAndDownPager.currentPage + 1;    

    }
}