在 ViewController 上的视图之间滑动
Swipe between views on ViewController
我正在编写一个计算器应用程序,用户可以在其中向数组添加数学函数。在我的 ViewController 底部有一个键盘,在它上面有一个显示所选函数 f(x) 的视图。我知道如何在不同的 ViewController 之间切换,但是我如何仅通过在这些小视图之间滑动来在不同的功能之间切换?
谢谢
如果您不想使用 UIPageViewController
并且您需要做的就是显示分页视图并检测当前所在的页面,我建议您使用带有分页的 UIScrollView
。
关于如何在 UIScrollView 中添加分页,您可以在这里阅读:
而对你来说最重要的部分,如何检测页面变化,你可以使用这段代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
static NSInteger previousPage = 0;
CGFloat pageWidth = scrollView.frame.size.width;
float fractionalPage = scrollView.contentOffset.x / pageWidth;
NSInteger page = lround(fractionalPage);
if (previousPage != page) {
// Page has changed, do your thing!
// ...
// Finally, update previous page
previousPage = page;
}
}
我正在编写一个计算器应用程序,用户可以在其中向数组添加数学函数。在我的 ViewController 底部有一个键盘,在它上面有一个显示所选函数 f(x) 的视图。我知道如何在不同的 ViewController 之间切换,但是我如何仅通过在这些小视图之间滑动来在不同的功能之间切换?
谢谢
如果您不想使用 UIPageViewController
并且您需要做的就是显示分页视图并检测当前所在的页面,我建议您使用带有分页的 UIScrollView
。
关于如何在 UIScrollView 中添加分页,您可以在这里阅读:
而对你来说最重要的部分,如何检测页面变化,你可以使用这段代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
static NSInteger previousPage = 0;
CGFloat pageWidth = scrollView.frame.size.width;
float fractionalPage = scrollView.contentOffset.x / pageWidth;
NSInteger page = lround(fractionalPage);
if (previousPage != page) {
// Page has changed, do your thing!
// ...
// Finally, update previous page
previousPage = page;
}
}