use*_*282 3 objective-c uiscrollview uipagecontrol ios
我有一个包含5个图像的UIScrollView.我想在滚动视图的底部添加一个UIPageControl,以便用户可以看到它们所在的页面.
这是滚动视图的代码:
self.helpScrollView.contentSize = CGSizeMake(320 * 5, 436);
UIImageView *image1 = [[UIImageView alloc] initWithFrame:CGRectMake(320 * 0, 0, 320, 436)];
image1.image = [UIImage imageNamed:[NSString stringWithFormat:
@"Guide Page One.png"]];
[self.helpScrollView addSubview:image1];
UIImageView *image2 = [[UIImageView alloc] initWithFrame:CGRectMake(320 * 1, 0, 320, 436)];
image2.image = [UIImage imageNamed:[NSString stringWithFormat:
@"Guide Page Two.png"]];
[self.helpScrollView addSubview:image2];
UIImageView *image3 = [[UIImageView alloc] initWithFrame:CGRectMake(320 * 2, 0, 320, 436)];
image3.image = [UIImage imageNamed:[NSString stringWithFormat:
@"Guide Page Three.png"]];
[self.helpScrollView addSubview:image3];
UIImageView *image4 = [[UIImageView alloc] initWithFrame:CGRectMake(320 * 3, 0, 320, 436)];
image4.image = [UIImage imageNamed:[NSString stringWithFormat:
@"Guide Page Four.png"]];
[self.helpScrollView addSubview:image4];
UIImageView *image5 = [[UIImageView alloc] initWithFrame:CGRectMake(320 * 4, 0, 320, 436)];
image5.image = [UIImage imageNamed:[NSString stringWithFormat:
@"Guide Page Five.png"]];
[self.helpScrollView addSubview:image5];
self.helpScrollView.pagingEnabled = true;
self.helpScrollView.showsHorizontalScrollIndicator = NO;
Run Code Online (Sandbox Code Playgroud)
我已将UIPageControl拖到我的xib文件中的scrollview上,但我不知道如何链接它们.我该怎么做呢?
您不希望将其添加UIPageControl到滚动视图本身,因为您不希望它与内容一起滚动.
有了这个,请看一下UIScrollViewDelegate协议,特别scrollViewDidEndDecelerating:是当你的滚动视图停止移动时会被调用(更新你的好时机UIPageControl).
你的计算将会是......
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
self.pageControl.currentPage = floorf(scrollView.contentOffSet.x/320);
}
Run Code Online (Sandbox Code Playgroud)
Re:我在一个视图控制器中有两个滚动视图,所以它指定我正在使用哪一个?
scrollView传入的实例可用于协商哪个滚动视图结束减速.如果delegate为两个滚动视图设置属性,当其中任何一个减速时,将调用此属性,因此您需要验证哪个实例结束减速.
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
if (scrollView == self.helpScrollView) {
self.pageControl.currentPage = floorf(scrollView.contentOffset.x/scrollView.frame.size.width);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4295 次 |
| 最近记录: |