2012-04-20 3 views
2

У меня есть прокрутка, которая может прокручиваться по горизонтали. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы пользователь только прокручивал одну страницу за раз, но в данный момент пользователь просматривает прокрутку и запускает прокрутку на две страницы.UIScrollView: как прокручивать одну страницу за раз

Кто-нибудь знает, как сохранить прокрутку, чтобы прокручивать только одну страницу за раз? на данный момент у меня есть возможность подкачки.

ответ

3

предположит, что вы должны показать некоторые изображения внутри массива.

[yourScroll setContentSize CGSizeMake([arrayImages count]*320 , 420)]; 
[yourScroll setPagingEnabled : YES]; 
int incX = 0 ; 

for(int i = 0; i < [arrayImages count]; i++) 
{ 
    UIImageView *imgView = [[UIImageView alloc]initWithFrame : CGRectMake(0,0,320,420)]; 
    UIView *myView = [UIView alloc]initWithFrame : CGRectMake (incX,0,320,420); 
    imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[arrayImages objectAtIndex : i]]]; 
    [myView addSubView : imgView]; 
    [yourScroll addSubView : myView]; 
    incX+= 320; 
} 
1

Например:

- (IBAction)changePage:(id)sender 
{         
    NSInteger _currentPage = self.pageControl.currentPage; 
    CGPoint offset = CGPointMake(_currentPage * self.scrollView.frame.size.width, 0); 
    [self.scrollView setContentOffset:offset animated:YES]; 
    pageControlUsed = YES; 
} 
0

Вы должны делать что-то неправильно. Если у вас включен пейджинг, он автоматически выравнивается по страницам (где размер страницы - размер кадра scrollview). Может быть, вы программируете где-то программно (что не требуется, если pagingEnabled истинно).

не может сказать больше без кода