And*_*y B 6 iphone objective-c uiview uipagecontrol ios
在页面控制方面我是初学者,这就是为什么我不确定100%我的标题是否与我想要的一致.我想创建一个UIPageControl,当用户在屏幕上滑动时,视图将切换到另一个视图,屏幕底部的UIPageController将自动更新.另外,为了让我的请求更加令人困惑,我希望屏幕底部有一个标签栏,随着视图的变化而保持不变.
一个很好的例子是The Iconfactory的Ramp Champ:http: //img.slidetoplay.com/screenshots/ramp-champ_5.jpg
底部的栏保持放置,而屏幕上的其余项目移动.最简单的方法是什么?
编辑:我知道我必须使用UISrollView,我只是不知道如何实现它...
Mat*_*ing 22
我相信你所寻找的实际上是一个将pagingEnabled设置为YES 的UIScrollView.您可以将滚动视图保留为常规UITabBar上方的视图.你将使用UIPageControl获取小点.当UIScrollView通过实现滚动视图的适当委托方法(可能是-scrollViewDidScroll:)滚动到页面时,可以以编程方式更新它.
假设您有两个ivars:scrollView和pageControl.当您知道滚动视图将包含多少页面时,您可以设置scrollView的contentSize.它应该是scrollView的边界的倍数.例如,如果页面数是静态的,您可以在-viewDidLoad中对其进行硬编码...
- (void)viewDidLoad {
// Any other code.
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.bounds.size.width * 3, scrollView.bounds.size.height); // 3 pages wide.
scrollView.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)
然后,更新你的小点......
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat pageWidth = scrollView.bounds.size.width;
NSInteger pageNumber = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pageControl.currentPage = pageNumber;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11345 次 |
| 最近记录: |