代码之家  ›  专栏  ›  技术社区  ›  Mike McMaster

uiscrollview-启用分页后,我可以“更改”页面宽度吗?

  •  31
  • Mike McMaster  · 技术社区  · 16 年前

    什么是将页面宽度设置为滚动视图边界以外的其他值的滚动视图(paginabled设置为yes)的最简单方法?

    让我举个例子。假设我有一个10个项目的滚动视图,每个150像素宽,我的滚动视图是300像素宽。如果我从可见的视图1和视图2开始,水平向右滚动,我希望下一个“页面”显示项目2和3。如果我再向右滚动一页,我会看到项目3和4。

    有人这样做吗?如果没有,你会使用什么策略?

    5 回复  |  直到 10 年前
        2
  •  5
  •   Alex Repty    16 年前

        3
  •  4
  •   The iOSDev fibnochi    13 年前

    int start;
    
    int end;
    
    int k=0;
    
    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView1
    {
    
        pageControlUsed = NO;
    
        start = scrollView.contentOffset.x;
    
    }
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView1 willDecelerate:(BOOL)decelerate
    {
    
        end = scrollView.contentOffset.x;
    
    }   
    
    
    - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView1{
    
        int diff = end-start;
    
            if (diff>0)
            {
    
             k=k+150;
             [scrollView setContentOffset:CGPointMake(k, 0) animated:YES];
    
            }
           else {
    
             k=k-150;
            [scrollView setContentOffset:CGPointMake(k, 0) animated:YES];
    
              }
    }
    
        4
  •  2
  •   Nico    12 年前

    - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
        CGFloat pageWidth = 160;
        targetContentOffset->x = pageWidth * (int)(targetContentOffset->x / pageWidth);
    }
    
        5
  •  1
  •   Pluuuuto    10 年前
    UIScrollView *album = [[UIScrollView alloc] init];
    album.translatesAutoresizingMaskIntoConstraints = NO;
    album.pagingEnabled = YES;
    album.clipsToBounds = NO;
    album.showsHorizontalScrollIndicator = NO;
    album.contentInset = UIEdgeInsetsMake(0, -50, 0, -50);
    [view addSubview:album];
    
    
    [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[_album(220)]" options:0 metrics:metrics views:views]];
    
    [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_album(300)]" options:0 metrics:metrics views:views]];