【问题标题】:UIScrollView + PageControlUIScrollView + PageControl
【发布时间】:2015-08-13 11:10:36
【问题描述】:

我有一个带有滚动视图(初始大小:390、170)和页面控制的视图控制器。我需要它从我的数组中显示每页的图像。但我有意想不到的结果(见下图)。

图像不是全角的,并且在第二页滚动视图结束之后。

这里是代码

- (void)viewDidLoad {
    [super viewDidLoad];
    //Put the names of our image files in our array.
    imageArray = [[NSArray alloc] initWithObjects:@"header1.jpg", @"header2.jpg", @"header3.jpg", nil];
    [self.articlesPageControll setNumberOfPages:imageArray.count];
    for (int i = 0; i < [imageArray count]; i++) {
        //We'll create an imageView object in every 'page' of our scrollView.
        CGRect frame;
        frame.origin.x = 390 * i;
        frame.origin.y = 0;
        frame.size = self.articlesScrollView.frame.size;

        UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
        [imageView setContentMode:UIViewContentModeScaleToFill];
        imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:i]];
        [self.articlesScrollView addSubview:imageView];
    }
    //Set the content size of our scrollview according to the total width of our imageView objects.
    self.articlesScrollView.contentSize = CGSizeMake(self.articlesScrollView.frame.size.width * [imageArray count], 170);

}

- (void)scrollViewDidScroll:(UIScrollView *)sender
{
    // Update the page when more than 50% of the previous/next page is visible
    CGFloat pageWidth = self.articlesScrollView.frame.size.width;
    int page = floor((self.articlesScrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    self.articlesPageControll.currentPage = page;
}

UPD:实际存在第 3 个带图片的页面,但无法滚动到此页面

提前致谢!

【问题讨论】:

    标签: ios objective-c uiscrollview uipagecontrol


    【解决方案1】:

    解决方案self.articlesScrollView.contentSize = CGSizeMake(390 * [imageArray count], 170);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多