菜鸟教程小白 发表于 2022-12-11 19:43:19

ios - 当我滚动图像时,页面控制当前页面不会改变


                                            <p><p>页面控件当前页面在我滚动图像时不会改变,但是当我单击页面控件时,它可以正常工作,更改图像也可以很好地滚动上面是我的代码
帮我找出错误并改正</p>

<pre><code>   scrollViewImage.delegate = self;
int x=0;
scrollViewImage.pagingEnabled=YES;
NSArray *image=[initWithObjects:@&#34;1.png&#34;,@&#34;2.png&#34;,@&#34;3.png&#34;,@&#34;4.png&#34;, nil];

int totalImage = (int)image.count;
for (int i=0; i&lt;image.count; i++)
{
    UIImageView *img=[initWithFrame:CGRectMake(x, 0,[ bounds].size.width, 140)];
    img.image=];
    x=x+[ bounds].size.width;
    ;
}

scrollViewImage.contentSize=CGSizeMake(x, 115);
scrollViewImage.contentOffset=CGPointMake(0, 0);


// page control
   pageController = [initWithFrame:CGRectMake(0, 400, 320, 36)];

;
UIPageControl *pageControl = ;
pageControl.numberOfPages=totalImage;

pageControl.pageIndicatorTintColor = ;
pageControl.currentPageIndicatorTintColor = ;
pageControl.backgroundColor = ;
pageControl.layer.cornerRadius = 7.0;
}
- (void)didReceiveMemoryWarning {
;
}
- (void)viewDidUnload {

;
}
- (IBAction)changePage:(id)sender {

UIPageControl *pager=sender;
int page = pager.currentPage;
CGRect frame = scrollViewImage.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
;
}




- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
CGFloat viewWidth = scrollViewImage.frame.size.width;

int pageNumber = floor((scrollViewImage.contentOffset.x - viewWidth/2) / viewWidth) +1;
   pageController.currentPage = pageNumber;
pageController.currentPageIndicatorTintColor = ;
;
}

- (void)pageChanged {

int pageNumber = pageController.currentPage;
CGRect frame = scrollViewImage.frame;
frame.origin.x = frame.size.width*pageNumber;
frame.origin.y=0;
;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>尝试在下面添加这个方法</p>

<pre><code>- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat pageWidth = self.scrollView.frame.size.width; // you need to have a **iVar** with getter for scrollView
    float fractionalPage = self.scrollView.contentOffset.x / pageWidth;
    NSInteger page = lround(fractionalPage);
    self.pageControl.currentPage = page; // you need to have a **iVar** with getter for pageControl
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 当我滚动图像时,页面控制当前页面不会改变,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/44125832/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/44125832/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 当我滚动图像时,页面控制当前页面不会改变