如何在 swift 中实现类似 Dropbox 的进度视图?

     2023-03-04     71

关键词:

【中文标题】如何在 swift 中实现类似 Dropbox 的进度视图?【英文标题】:How do I achieve this Dropbox like progress view in swift? 【发布时间】:2015-09-11 05:46:54 【问题描述】:

Dropbox iOS 应用有一种非常酷的视图层次结构,当从它们的“文件”tableView 中选择一行时,它会进入一个显示所选文件加载进度的视图,然后该视图过渡到阅读/查看文件的 PDF 阅读器。

video in this link 正是我的意思。它就像进度视图转换到 PDF 视图而不是继续它,因为正如您从视频中看到的那样,当您从 PDF 阅读器按下后退导航项时,它会直接返回到 tableView,而不是进度屏幕。他们是如何获得这种效果的?我将如何自己实现它?

【问题讨论】:

似乎他们从表格视图进入 PDF 阅读器视图的进度视图。然后当点击返回时,您会展开到表格视图,从而跳过进度视图。 好吧,我的 IB 上有相同的设置,主视图 -> 进度视图 -> pdf 阅读器视图。从 pdf 阅读器视图返回时,我将如何展开进度视图? @RuudKalis 【参考方案1】:

三个控制器(主视图 -> 进度视图 -> pdf 阅读器)可能 ...您需要拦截后退按钮上的点击,而不是后退一步 (到进度视图)你想要后退两个控制器。

但你会一直与 iOS 作斗争,让自己头疼。

Dropbox 可能有两个控制器 master view -> detail view 并遵循如下逻辑:

viewWillAppear 的详细视图,他们可能设置了占据整个屏幕宽度和高度的进度视图。

viewDidLoad 的详细视图启动进度视图的动画。

开始下载 PDF 文件并在下载完成后更新进度指示器。

完全下载后将其添加到视图中(但在进度指示器下方)

然后隐藏进度视图以在下方显示 PDF 视图。

希望能给你一些关于如何创建这种效果的想法。

【讨论】:

swift在swift中实现动态运行时对象,类似于javascript(代码片段)

查看详情

如何在 Swift 中实现 NSWindowRestoration?

】如何在Swift中实现NSWindowRestoration?【英文标题】:HowtoimplementNSWindowRestorationinSwift?【发布时间】:2014-06-1000:50:12【问题描述】:我尝试在非基于文档的应用程序中在Swift中实现NSWindowRestoration协议。然而,restoreWindowWithIdentifier方... 查看详情

这是如何在 swift 4 中实现的?

】这是如何在swift4中实现的?【英文标题】:Howisthisimplementedinswift4?【发布时间】:2018-08-0413:25:33【问题描述】:我有这个link用于表格视图中的下拉搜索栏。我能够使用此代码在tableview中实现搜索栏searchController.searchResultsUpdater=s... 查看详情

Swift 3:如何在项目中实现 Cocoapods?

】Swift3:如何在项目中实现Cocoapods?【英文标题】:Swift3:HowtoimplementCocoapodsintoproject?【发布时间】:2017-02-1216:22:20【问题描述】:我是swift3和cocoapods的初学者,我想为我的项目实现这个https://github.com/luowenxing/MTImagePicker图像选择... 查看详情

如何在 Swift 中实现全球化?

】如何在Swift中实现全球化?【英文标题】:HowtomakesomethingglobalinSwift?【发布时间】:2014-06-0818:07:13【问题描述】:我在viewDidLoad函数中创建了一个UILabel。然后,我有一个在viewDidLoad函数之外的函数。我需要能够访问UILabel。我知... 查看详情

如何在 Swift iOS 中实现 iMessage 渐变?

】如何在SwiftiOS中实现iMessage渐变?【英文标题】:HowcanIimplementtheiMessagegradientinSwiftiOS?【发布时间】:2020-12-2423:40:30【问题描述】:我正在努力实现的目标我正在尝试在SwiftiOS中实现渐变气泡效果,其中顶部的聊天气泡颜色较浅... 查看详情

如何在 Swift 中实现单例类

】如何在Swift中实现单例类【英文标题】:HowtoImplementSingletonclassinSwift[duplicate]【发布时间】:2016-02-1822:01:56【问题描述】:我是swift编程新手,请告诉我如何使用代码在swift中实现单例类。在obj-c中我知道+(id)sharedManagerstaticMediaMode... 查看详情

如何在 inputAccessoryView [Swift] 中实现滚动视图

】如何在inputAccessoryView[Swift]中实现滚动视图【英文标题】:HowtoimplementascrollViewinsideinputAccessoryView[Swift]【发布时间】:2020-04-2714:48:47【问题描述】:在我的swift应用程序中,我正在使用inputActivityView,非常努力,我的想法是在该... 查看详情

如何在 Swift 中实现一个管理 UserDefaults 的键值对的通用结构?

】如何在Swift中实现一个管理UserDefaults的键值对的通用结构?【英文标题】:HowcanIimplementagenericstructthatmanageskey-valuepairsforUserDefaultsinSwift?【发布时间】:2021-02-0921:22:15【问题描述】:如何在Swift中实现一个管理UserDefaults映射的结... 查看详情

如何在 Jinja 中实现类似 Django 的标签

】如何在Jinja中实现类似Django的标签【英文标题】:HowtoimplementDjango-liketagsinJinja【发布时间】:2015-07-2807:49:09【问题描述】:我想在Jinja中实现与Django模板的自定义标签类似的功能。在Django模板中,要让服务器端函数返回一个字... 查看详情

如何在 UITableView 的索引列表中实现放大镜? [关闭]

】如何在UITableView的索引列表中实现放大镜?[关闭]【英文标题】:HowtoimplementamagnifyingglassintheindexlistofanUITableView?[closed]【发布时间】:2019-10-0916:42:41【问题描述】:我想在Swift中的UITableView的索引列表中实现一个放大镜。它应该... 查看详情

如何使用 Swift 在 CustomCell 中实现 inputAccessoryView 到 UITextField?

】如何使用Swift在CustomCell中实现inputAccessoryView到UITextField?【英文标题】:HowtoimplementinputAccessoryViewtoUITextFieldinCustomCellusingSwift?【发布时间】:2017-11-0815:59:30【问题描述】:我有一个带有自定义单元格的tableView,它与配置的自己... 查看详情

如何在 quickblox (Swift, iOS, xcode) 中实现发送图片

】如何在quickblox(Swift,iOS,xcode)中实现发送图片【英文标题】:Howtoimplementsendingimagesinquickblox(Swift,iOS,xcode)【发布时间】:2016-02-2723:01:41【问题描述】:我已经有一个应用程序,并实施了Quickblox。到目前为止,我只有消息发送。如何... 查看详情

如何在 PHP 中实现类似 Enum 的功能? [复制]

】如何在PHP中实现类似Enum的功能?[复制]【英文标题】:HowtoimplementEnumlikefunctionalityinPHP?[duplicate]【发布时间】:2010-12-0410:30:36【问题描述】:如何在PHP中使用类似Enum的功能(在Java和其他高级语言中提供)?我知道PHP目前不允许... 查看详情

如何在 Python 中实现类似 C# RSACryptoServiceProvider 的加密?

】如何在Python中实现类似C#RSACryptoServiceProvider的加密?【英文标题】:HowtoachieveC#RSACryptoServiceProvider-likeencryptioninPython?【发布时间】:2013-08-0616:49:02【问题描述】:所以,在C#中我有以下代码:publicstaticvoidMain(string[]args)publicKeyXml="... 查看详情

mailcore2如何在swift中实现它

】mailcore2如何在swift中实现它【英文标题】:mailcore2howtoimplementitinswift【发布时间】:2018-02-2212:16:13【问题描述】:我厌倦了在这里https://github.com/MailCore/mailcore2/blob/master/build-mac/README.md遵循这些说明,但我不明白或不知道如何在... 查看详情

swift之深入解析如何在swift中实现状态机(代码片段)

一、状态机的定义①什么是状态机?我们直接使用维基百科上的定义:Afinite-statemachine(FSM)orfinite-stateautomaton(FSA,plural:automata),finiteautomaton,orsimplyastatemachine,isamathematicalmodelofcomputation.简而言之:通常称作的状态机是有限状态机的简... 查看详情

如何在 Swift 中实现线程安全的 HashTable (PhoneBook) 数据结构?

】如何在Swift中实现线程安全的HashTable(PhoneBook)数据结构?【英文标题】:HowtoimplementaThreadSafeHashTable(PhoneBook)DataStructureinSwift?【发布时间】:2018-08-1214:32:48【问题描述】:我正在尝试实现一个线程安全的电话簿对象。电话簿应该... 查看详情