gpt4 book ai didi

iphone - 带有 UIPageControl 的 UIView

转载 作者:可可西里 更新时间:2023-11-01 03:36:06 28 4
gpt4 key购买 nike

在页面控制方面,我是初学者,这就是为什么我不能 100% 确定我的标题是否符合我的要求。我想制作一个 UIPageControl,当用户在屏幕上滑动时, View 会切换到另一个 View ,并且屏幕底部的 UIPageController 会自行更新。此外,为了让我的请求更加困惑,我想要在屏幕底部有一个标签栏,它会随着 View 的变化而保持不变。

The Iconfactory 的 Ramp Champ 就是一个很好的例子: http://img.slidetoplay.com/screenshots/ramp-champ_5.jpg

底部的栏保持不动,而屏幕上的其他项目移动。最简单的方法是什么?

编辑:我知道我必须使用 UISrollView,我只是不知道如何去实现它...

最佳答案

我相信您正在寻找的实际上是一个 UIScrollView pagingEnabled 设置为 YES。您可以将 ScrollView 保留为常规 UITabBar 上方的 View 。您将使用 UIPageControl 来获取小点。当 UIScrollView 滚动到页面时,您可以通过实现 ScrollView 的适当委托(delegate)方法(可能是 -scrollViewDidScroll:)以编程方式更新它。

假设您有两个 ivar:scrollView 和 pageControl。当你知道你的 ScrollView 将有多少页时,你可以设置 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;
}

然后,更新你的小点...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

CGFloat pageWidth = scrollView.bounds.size.width;
NSInteger pageNumber = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pageControl.currentPage = pageNumber;
}

关于iphone - 带有 UIPageControl 的 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763241/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com