在 swift 3 中使用计时器自动更改 UIPageViewController 中的页面?

2023-12-03

I have UIPageViewController包含 4 个视图控制器

我设置了自动更改视图控制器的计时器(转到下一个视图控制器) - 这个计时器和方法将起作用但问题是它仅适用于第一张幻灯片以及应用程序运行时和 5 秒后UIPageViewController将显示第二张幻灯片但之后什么都不会发生! 这是我使用的代码

lazy var VCArr : [UIViewController] = {

    return [self.VCInstance(name : "VC1"),
            self.VCInstance(name : "VC2"),
            self.VCInstance(name :"VC3"),
            self.VCInstance(name :"VC4")]
}()

func changeSlide() {

    print("Slide Change!")


    guard let currentViewController = self.VCArr.first  else { return }

            guard let nextViewController = dataSource?.pageViewController( self, viewControllerAfter: currentViewController ) else { return }

            setViewControllers([nextViewController], direction: .forward, animated: true, completion: nil)

    }

var tTime: Timer!

override func viewDidLoad() {
    super.viewDidLoad()


    tTime = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(changeSlide), userInfo: nil, repeats: true)


    }

我认为问题出在这一行

guard let currentViewController = self.VCArr.first  else { return }

但我不知道如何改变这条线才能正常工作


尝试这个:

您可以通过 VCArr 的索引更改视图控制器。

var index = 0

func changeSlide() {
    index + 1
    if index < self.VCArr.count {
        setViewControllers([VCArr[index]], direction: .forward, animated: true, completion: nil)
    }
    else {
        index = 0
        setViewControllers([VCArr[0]], direction: .forward, animated: true, completion: nil)

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 swift 3 中使用计时器自动更改 UIPageViewController 中的页面? 的相关文章

  • 如何在 Monotouch 中对 UIImageView 进行运动模糊效果?

    在 MonoTouch 中进行实时运动模糊的方法是什么 当滚动惯性图片库时 我需要在 UIImageView 上应用运动模糊效果 以强度和方向作为参数 就像在 Photoshop 中一样 我在 CocoaTouch 或 CoreAnimat
  • CoreAnimation 性能分析 - CAReplicatorLayer 与 CAShapeLayer

    我正在制作一个依赖 CoreAnimation 的应用程序 它有一个 CAReplicatorLayer 和一个 CAShapeLayer 作为子层 当进行 12 次复制 然后对路径进行动画处理 在 touchMoved 上更改它 时 一旦
  • prepareForSegue 和代表

    我有一个有两个 segue 的应用程序 在其中一个 Segue 中 当前视图控制器成为委托 而另一个则不是 void prepareForSegue UIStoryboardSegue segue sender id sender if s
  • Xcode 不会在故事板中显示我的文本字段占位符文本

    当我在属性检查器中分配文本字段的占位符值时 它不会显示在故事板中 但是 当我运行应用程序的模拟器时 它就在那里 我缺少什么设置吗 我只想能够在编辑器中看到占位符文本 下面是 xcode 和模拟器之一的屏幕截图 我遇到了同样的问题 幸运的是我
  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 应用程序图标未刷新

    我更改了新版本应用程序中的图标图像 并且我在设备中安装了旧版本应用程序 然后我安装了新版本 它在 iOS 5 中运行良好 但在 iOS 6 中 图标没有刷新 它仍然显示旧版本图标 徽标 如果没有安装旧版本应用程序 该设备在 iOS 5 和
  • 适用于 iOS 的 Google Cast SDK 2.3.0 不支持 64 位

    似乎是适用于 iOS 的 Google Cast SDK 2 3 0 版本 https developers google com cast downloads GoogleCastFramework 2 3 0 Release zip停止
  • 在界面生成器/故事板中设置 UIButton 图像

    我有一个视图控制器 我在故事板中添加了一个圆形矩形按钮 该应用程序运行良好 我还使用故事板将按钮连接到 segue 我正在尝试为此按钮设置一个自定义图像以用于其开和关状态 我如何访问此按钮并设置其属性 在本例中为开和关图像 这是一个屏幕截图
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j

随机推荐

  • iOS iPhone 5 选择正确的故事板

    我尝试在我的 iOS 项目中使用这两个故事板 但我无法获取切换到适当故事板的代码 相反 该代码绝对不执行任何操作 是不是我没有正确设置控制开关的设置 非 iPhone 5 设备的主故事板称为 MainStoryboard iphone 5合
  • 如何在 Xamarin 中的视图控制器之间传递数据

    我正在尝试在我的第一个和第二个之间传递一些数据ViewController 我已经实例化了第二个视图控制器 如下所示 RegistrationViewController registration new RegistrationViewC
  • Python 中的 NLP:矢量化后从 SelectKBest 获取单词名称

    我似乎无法找到我的确切问题的答案 有人可以帮忙吗 我的数据框 df 的简化描述 它有 2 列 一列是一堆文本 注释 另一列是一个二进制变量 指示解析时间是否高于平均水平 y 我对文本做了词袋 from sklearn feature ext
  • phpMyAdmin - 无法连接 - 无效设置 - 自从我添加 root 密码以来 - 被锁定

    我运行XAMPP 几天前 我通过 phpmyadmin 设置了 root 密码 从那一刻起我就无法访问 phpMyAdmin 我按照帮助这个链接但那里一切似乎都很好 在 config inc php 中 我什至尝试完全卸载 xampp 重新
  • 旋转动画不适用于 chrome

    我制作的动画可以在 Firefox 上运行 但不能在 Chrome 上运行 我已经尝试了十几种解决方案 但似乎无法使其发挥作用 这是我的代码 path animation name turn transform origin 50px 50
  • 如何在keycloak管理控制台中对客户端进行IP限制

    我在 keycloak 管理控制台中定义了一个客户端 以使用 client credentials 流授权它在我的应用程序中调用服务器到服务器 api 一切都很好 我想对该客户端应用 IP 限制 我可以在管理控制台中的哪里定义此限制 我在k
  • XML 节点的包装组

    我正在使用 PHP5 我需要将 XML 转换为以下形式
  • InvokeExact 对对象,其类型由类加载器动态加载

    我花了一整天的时间来解决这个问题 我的问题是如何对实例进行 MethodHandle invokeExact 调用 该实例的类类型是在程序运行时动态加载的 为了使问题更清楚 我在下面展示了我的示例代码 Class
  • 使用 java applet 查看 .doc 文件

    我有一个网络应用程序 我已经在服务器端生成了 xml 格式的 MS Word 文档 Word 2003 XML 文档 我需要使用某种查看器向客户端用户显示此文档 那么 问题是 我可以使用哪些库来解决这个问题 我需要一个API来在客户端查看w
  • 如何使用xslt将json转换为xml

    如何将 JSON 转换为 XML 考虑
  • 如何使用 Ninject 将 ModelState 作为参数注入?

    我对 Ninject 很陌生 我想找到一种方法将控制器的 Modelstate 进一步传递到服务层 我现在拥有的 private readonly IAccountService service public AccountControll
  • 如何获取R代码表达式中的所有变量?

    如何解码 R 中的表达式以获取涉及的所有变量 例如 如果您有 z lt x y get all variables z 1 x y 您可以使用all vars 但你需要引用你的表达 all vars quote x y 1 x y 你不能只
  • Ninject 模型验证器导致中等信任度问题

    Using 忍者2 2 with ASP NET MVC 3 我有一个控制器和一些位于外部程序集中的类 它们是通过加载NinjectModule来自所述组件 这些模型包含一些验证属性 当对采用具有验证属性的模型的操作执行后操作时 Ninje
  • 如何从安装部署项目中排除 app.config

    如何从安装部署项目中排除 app config 我必须维护 app config 中的加密部分 我知道的唯一 半 嵌入方式是使用 RsaProtectedConfigurationProvider 或 DPAPI 提供程序运行代码 由于我必
  • 如何使decimal.TryParse保留尾随零?

    目前如果我这样做 decimal d temp 22 00 decimal TryParse temp NumberStyles Any CultureInfo InvariantCulture out d 然后 d 结果是 22 有什么方
  • System.Timer elapsed 事件似乎在 .Net 中短时间间隔内延迟触发

    我通过 UART 端口对系统进行采样 然后将信息记录在带有时间戳 包括毫秒 的文件中 如果我以 1 秒的间隔采样 数据会按预期返回 类似于 1 52 45 PM 750 data 1 52 45 PM 750 data 1 52 45 PM
  • r:缺失日期的完整值

    在 R 中 如果我有这些数据 date hour temp 2014 01 05 20 00 00 16 2014 01 06 20 00 00 14 2014 01 06 22 00 00 18 与seq我可以获得日期时间序列 begin
  • JSON如何判断成功与错误?

    我是 JSON 新手 一直在 MVC3 ASP NET 中使用它 但是有人可以阐明如何根据 JSON 结果返回错误吗 我的视图中有以下调用 ajax type POST dataType json url EditJSON data Fil
  • 使用 XMLHttpRequest 加载大型 json 文件 (250mb+)

    虽然我查看了此处和其他来源 但我似乎无法完全找到在 javascript 中使用 XMLHttpRequest 加载更大的 JSON 从文件 的问题 我从 C 应用程序生成此 JSON 文件 并且从未遇到过任何无效 json 的问题 较小的
  • 在 swift 3 中使用计时器自动更改 UIPageViewController 中的页面?

    I have UIPageViewController包含 4 个视图控制器 我设置了自动更改视图控制器的计时器 转到下一个视图控制器 这个计时器和方法将起作用但问题是它仅适用于第一张幻灯片以及应用程序运行时和 5 秒后UIPageView