- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前有一个 UIPageController,它可以在滚动时正确检测到上一个或下一个 pageIndex
我需要解决的问题是...
例子:-用户向左或向右滚动,但随后决定在滑动期间取消……因此保留在当前页面上。
pageIndex 更改为待定页面(下一页)而不是实际的当前页面..
我的代码目前实现了上面的语句:--
func pageViewController(_ pageViewController: UIPageViewController, willTransitionTo pendingViewControllers: [UIViewController]) {
if let itemController = pendingViewControllers[0] as? PageContentViewController {
nextIndex = itemController.pageIndex
print("Page index = \(nextIndex)")
}
}
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
currentIndex = nextIndex
print("Current Page = \(currentIndex)")
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
let itemController = viewController as! PageContentViewController
if itemController.pageIndex < numberOfPages {
return getItemController(itemController.pageIndex+1)
}
return nil
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
let itemController = viewController as! PageContentViewController
if itemController.pageIndex > 0 {
return getItemController(itemController.pageIndex-1)
}
return nil
}
func getItemController(_ itemIndex: Int) -> PageContentViewController? {
if itemIndex < numberOfPages {
let pageItemController = self.storyboard!.instantiateViewController(withIdentifier: "Page1") as! PageContentViewController
pageItemController.pageIndex = itemIndex
return pageItemController
}
return nil
}
我想在页面显示之前获取页码,以便我可以显示特定对象等。
viewControllerAfter 和 viewControllerBefore 似乎不是每次都被调用因此我不能依赖这个委托(delegate)方法
最佳答案
我不知道我是怎么错过的,但在 didFinishAnimating 方法中,它们是一个完成 block
因此下面的代码解决了我的问题
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
if completed
{
currentIndex = nextIndex
}
print("Current Page = \(currentIndex)")
}
关于swift - UIPageController - 如果取消滑动则检测当前页面 (SWIFT 3.*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485964/
我使用本教程使用 UIPageController 创建了一个应用程序:http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/
我一直在使用 UIPageController 在不同的 Controller 之间导航。现在我想在底部添加这些点,这样用户就可以看到他在哪个 Controller 上。这是通过 UIPageCont
我是 ios 编程的新手。我试图在 stackoverflow 上搜索另一个示例和更多问题,但这不是我的目标。我想在 UIPageControl 的索引 0 处设置一个类似于 iPhone 搜索主
任何人都知道如何创建垂直 UIPageControl?我有一个启用了分页的 UIScrollView,我想让 UIPageControl 坐在侧面并垂直显示而不是水平显示。 先感谢您... 最佳答案
我想要带有圆圈的页面控件如何执行此操作我现在使用页面控件,但它有点而不是圆圈 最佳答案 您必须创建自定义页面滚动。为此,您应该引用 this question 。希望你能明白。 还有一些有用的链接:
嘿伙计们,我正在使用带有 ScrollView 的 UIPagecontrol。它效果很好,但有一种情况是白色没有突出显示。它发生在我们从 ScrollView 转到另一个 View 然后返回并重新加
我想隐藏UIPageControl的栏,因为我想实现带有滑动手势功能的分页,所以我不需要显示点栏。如果我设置 hidden=YES ,将会保留一个 UIPageControl 大小的黑色 block
我无法在 iOS 14 中设置页面控制点的边框颜色。以下代码适用于 iOS < 14,但不适用于 iOS 14: for (int i = 0; i < [self.subViews count];
pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(153,356,38,36) ]; pageControl.userInte
我有一个 PageViewController我想更改 UIPageControl位置(从屏幕底部到顶部)。 那是我的代码: UIPageControl *pageControl = [UIPageC
我有一个 UIPageViewController,其中放置了一个 UIPageControl。当我滚动时,这似乎在大多数情况下都有效,但有时它不会更改当前选定的页面。什么会触发这种行为? func
我有一个关于 UIPageControl 的问题。我有一个 UIScrollView 和一个 UIPageControl。当我在 UIScrollView 前面添加 UIPageControl 时,状
我使用默认的UIPageControl。 UIPageViewController 以编程方式创建。 dataSource 和 delegate 方法也已正确配置。 我正在尝试实现与 iOS 主页相同
我正在尝试使用页面控制功能和 UIScrollView 在我的 IOS 应用程序上显示一组图像,我看过一些教程,但它们都展示了如何更改颜色、如何加载一些图像以及使用页面控件来浏览它们? 最佳答案 -(
我正在使用 UIPageControl 和 UISwipeGestureRecognizer 在 View Controller 之间切换。使用滑动更改页面。 我还需要在其中一个 View Contr
我发现自定义UIPageControl页面图像非常容易(我已经检查过iOS7/8): [self setValue:[UIImage imageNamed:@"my_icon_for_off_stat
我需要改进 EAIntroView 屏幕在启用画外音时从我的应用程序的转换。为此,我考虑使用变换来增加触摸区域: _pageControl.transform = CGAffineTransf
我有一个包含多个表格的 UIScrollView 和一个跟踪用户当前正在查看哪个页面的 UIPageControl。它工作正常,直到我开始在 tableview 上向上滚动,此时 UIPageCont
我正在使用 UIPageController 来实现基于页面的导航应用程序。我想仅在页面边缘启用滑动手势,并防止在内部内容 View 中启用滑动手势。该页面的边距为 20 像素: contentVie
我想知道如何替换状态栏或至少将页面控件放在它上面?每次有人寻呼时,这将是一个临时放置几秒钟,然后它就会消失。我以前在应用程序中见过它。 最佳答案 我认为您无法到达状态栏上方,因为它不属于您的根窗口。
我是一名优秀的程序员,十分优秀!