SwiftUI 使用 UIPageViewController 翻页后出现空白的原因及解决

news2025/1/12 22:00:50

在这里插入图片描述

问题现象

我们 SwiftUI 开发的 App 需要 UIPageViewController 的翻页功能,这可以非常方便的通过桥接 UIKit 到 SwiftUI 来搞定:

在这里插入图片描述

不过,观察上图可以发现 App 翻页显示的并不太对:当用户通过右下角的 UIPageControl 触发翻页时没有问题,但当用户直接手动在 UIPageViewController 上滑动翻页后却会显示一片空白。

这是什么原因?又该如何解决呢?

在本篇博文中我们将探索如何在 SwiftUI 中使用 UIPageViewController 控件,并解决上面的问题。

无需等待,Let‘s go!!!😉


问题分析

1. 桥接 UIPageViewController

UIPageViewController 是 UIKit 中很常用的控件,我们用它来实现翻页显示功能。

不过,目前 UIPageViewController 还未原生加入到 SwiftUI 的大家庭中,所以我们想要在 SwiftUI 中使用它还得做桥接适配。

因为 UIPageViewController 是一个控制器,所

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/436075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【毕业设计】基于程序化生成和音频检测的生态仿真与3D内容生成系统----音频检测算法设计

(2条消息) 【开发日志】2022.09.02 ZENO----Audio----Beat detection algorithm----Combine Wav&Mp3_minimp3 和 ffmpeg_EndlessDaydream的博客-CSDN博客https://blog.csdn.net/Angelloveyatou/article/details/126670613 4 音频检测算法设计 4.1 节拍检测算法 4.1.1 节…

JavaSE——数组

这篇文章的面向读者为Java初级程序员,也就是刚刚接触到Java这门语言,里面描述的内容主要是数组相关的内容,讲解了最基础的一些数组扩容思路,数组赋值机制,什么是引用地址,什么是基础数据赋值。 Java该章节数…

JAVA入坑之线程

目录 一、:相关概念 1.1中央处理器(CPU,Central Processing Unit) 1.2程序、进程、线程 1.3线程与任务 二、线程的创建: 2.1继承Thread创建线程: 使用Thread子类创建线程的优缺点 2.2实现Runnable接口创建线程:…

【C++STL精讲】list的使用教程及其模拟实现

文章目录 💐专栏导读💐文章导读🌷list是什么?🌷list如何使用?🌷list的模拟实现🌺定义list类🌺构造函数🌺push_back🌺pop_back 🌷list迭…

利用STM32实现自平衡机器人功能与方法

将机器人整体开源,同时总结一下机器人搭建过程中遇到的坑和未来的改进方向。在分享的文件里包含了结构设计、程序控制、电路设计以及其他模块相关资料供大家参考。 第一:机器人原理分析 首先来看成品图: 如图所示,该机器人根据陀…

宝塔面板设置虚拟内存Swap降低的方法

宝塔面板可以通过设置Swap/虚拟内存的方式来降低内存使用率和负载,使用宝塔面板的Linux工具箱即可设置虚拟内存,新手站长来详细说下宝塔Linux面板设置Swap/虚拟内存的方法: 宝塔面板设置虚拟内存 设置虚拟内存是通过Linux工具箱&#xff0c…

4.0、Java继承与多态 - 抽象类与抽象方法

4.0、Java继承与多态 - 抽象类与抽象方法 先给大家举个例子 -> 创建一个父类 - 图形类;图形类中有一个计算面积的方法 calculateArea(); 创建三个子类 - 正方形、三角形、圆形 类; 由于我们图形类父类中未明确指明是什么图形&#xff0c…

内网域环境搭建学习

建立的关系就是这样,接下来就开始讲解遇到的困难 虚拟机中我们可以克隆来实现域的搭建 可能会出现这样的问题,原因是你的虚拟机没有关闭,所以才会导致这样的原因,解决方法 将虚拟机打开后,电源 -> 关闭客户机&…

MySQL学习笔记第二天

第03章 基本的SELECT语句 1.SQL概述 1.1 SQL背景知识 1946年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的…

reactxp搭建,start:windows运行不起来

1、官网 reactxp 2、VSCode和Visual Studio2019 安装VSCode Visual Studio 下载地址 先不用勾选工作负荷,直接安装 3、安装nvm 访问下载地址下载安装nvm: 百度云分享 官网直装链接 nvm的github发行界面下载nvm-setup.exe GitCode镜像下载nvm-setup…

ACL配置学习(附练习题)------ensp

从此文了解ACL配置,欢迎学习、指导。 目录 基本ACL配置举例 高级ACL配置举例 ACL配置练习题 定义 访问控制列表ACL(Access Control List)本质上是一种报文过滤器。 范围: OSI七层模型中的网络层、传输层的信息。 滤芯:五…

2023年4月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

大型医院体检管理系统源码,PEIS体检系统源码 丰富的诊断模板,自动产生小结、综述和建议

PEIS体检管理系统源码 体检条码化管理,体检数据比对,丰富的诊断模板,自动产生小结、综述和建议。 文末获取联系 PEIS体检管理系统对医院体检中心进行系统化和规范化的管理,大大提高体检中心的综合管理水平、工作效率。系统从业务…

设计模式-结构型模式之享元模式

5. 享元模式 5.1. 模式动机 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。 享元模式正是为解决这一类问题而诞生的。享元模…

GoF代理模式

在java中代理模式的作用: 1.一个对象需要受到保护的时候,可以考虑使用代理对象取完成某个行为. 2.需要给某个对象的功能进行功能增强的时候,可以考虑找一个代理进行增强 3.A对象无法和B对象无法直接沟通,也可以使用代理模式解决 代理模式有三…

WPF mvvm框架Stylet使用教程-窗体交互用法

窗体操作 打开窗体 在stylet框架中,要打开一个窗口或者对话框,只需要直接使用窗口管理器 在要使用的ViewModel中注入IWindowManager,然后使用他的方法操作窗口。 ShowDialog(object viewModel)模态显示ShowWindow(object viewModel) 非模…

修改OPNET帮助文档的默认打开浏览器 给Edge浏览器配置IE Tab插件

我在使用 OPENT Modeler 软件时经常会用到帮助文档,但是其默认打开的是 IE 浏览器,想要其在 Edge 浏览器中打开,但是会出现网页无法打开的情况,这时需要给 Edge 浏览器安装一个 IE Tab 插件。 IE Tab 插件是专门针对浏览器而开发的…

vue3的介绍和两种创建方式(cli和vite)

目录 一、vue3的介绍 (一)vue3的简介 (二)vue3对比vue2带来的性能提升 二、vue3的两种创建方式 方式一:使用vue-cli创建(推荐--全面) 操作步骤 方式二:使用vite创建 操作步…

Spring是什么?关于Spring家族

初识Spring 什么是Spring? Spring是一个开源的Java企业级应用程序开发框架,由Rod Johnson于2003年创建,并在接下来的几年里得到了广泛的发展和应用。它提供了一系列面向对象的编程和配置模型,支持开发各种类型的应用程序&#x…

黑客网站攻击的主要手段

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 黑客与白帽子 有的童鞋觉得黑客和白帽子是同一回事儿,其实不然;而且,他们的工作方式与目标也有很大的差异。 黑客是指一群专门使用计算机…