首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

偷看ViewController但弹出不同的ViewController - 3D触控- Swift

偷看ViewController但弹出不同的ViewController是指在iOS开发中,通过偷窥(peek)一个视图控制器(ViewController)的内容,但在用户交互时弹出不同的视图控制器。

在iOS开发中,可以使用3D触控(3D Touch)来实现这一功能。3D触控是苹果公司在iPhone 6s及其后续机型上引入的一项技术,它利用压力感应来实现不同的交互效果。

要实现偷看ViewController但弹出不同的ViewController,可以按照以下步骤进行:

  1. 首先,确保你的设备支持3D触控,并在项目中启用3D Touch功能。
  2. 在需要实现偷看功能的视图控制器中,通过重写previewingContext(_:viewControllerForLocation:)方法来创建偷看的视图控制器。这个方法会在用户按压屏幕并且光标位于视图控制器上时被调用。
  3. previewingContext(_:viewControllerForLocation:)方法中,根据用户按压的位置,创建并返回不同的视图控制器。你可以根据需要创建不同的视图控制器,并在返回之前进行配置。
  4. 在返回的偷看视图控制器中,可以添加一些预览内容,例如显示一张图片、展示一段文字等,以便用户可以预览到该视图控制器的内容。
  5. 当用户继续按压屏幕并且光标位于偷看视图控制器上时,可以通过重写previewingContext(_:commit:)方法来处理用户选择偷看视图控制器的操作。在这个方法中,你可以根据需要执行相应的操作,例如弹出一个新的视图控制器。

3D触控在iOS应用中有许多应用场景,例如:

  • 预览和快速操作:用户可以通过偷看视图控制器来预览内容,例如查看邮件的摘要、浏览网页的预览等。同时,用户还可以通过继续按压屏幕来执行快速操作,例如直接删除一封邮件、分享一个网页等。
  • 导航和浏览:用户可以通过偷看视图控制器来预览导航路径或浏览历史记录,例如在地图应用中预览导航路线、在浏览器中预览浏览历史等。
  • 内容展示和交互:用户可以通过偷看视图控制器来预览和交互内容,例如在相册应用中预览照片、在社交应用中预览消息等。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift 项目 - Xib | StoryBoard 多人协作技巧

避免滥用,最好方法就是定制规范,就好像代码中诸多规范一样。每个团队可能有自己不同喜好,我在此抛砖引玉,列出我们团队使用Storyboard规范,供大家参考。...ChildViewController 可以通过 self.parent(Swift)|| self.parentViewController(OC)来拿到主ViewController实例。...主ViewController可以通过 self.chilren(Swift) || self.childViewControllers(OC)来拿到ChildViewController实例,它是一个数组...值得一提是,通过此种方式创建ChildViewController,其构造方法晚于主ViewController生命周期中viewDidLoad则早于主ViewController, 因此在ChildViewController...-> UICollectionViewCell { } } 复制代码 在Storyboard上选中这个Object,绑定上面的类 右键这个Object,在弹出菜单中连线

2.1K20
  • 使用SWRevealViewController实现侧滑菜单

    1.导入SWRevealViewController 由于该库是用OC写,所以在swift上使用还需要一些步骤; 1.1 下载SWRevealViewController到本地,然后打开SWRevealViewController...文件夹你会看到两个文件 1.2 把这个两个文件拖到你xcode项目中;然后xocde就会自动弹出个框,询问你是否创建OC bridging header文件,这里选择 Create Bridging...点击两个ViewController 之间链接线,在属性面板设置identifier 为sw_rear(不可为其他字符) 2.3 链接要显示侧滑菜单ViewController ; 如2.2.1...2.2.2 2.2.3 步骤,把SWRevealViewController 与你要显示ViewController 链接起来,然后对链接线identifier属性设置为sw_front(代表左侧菜单...) 结果如图,这里要注意一个问题,就是指向第一个显示ViewController箭头 指向了SWRevealViewController; 因为我在实际开发中发现不指向这个ViewController

    1K20

    iOS开发常用之 HUD 弹窗

    PreLoader实现讲解 Toast-Swift - 高可定制易用Toast弹出信息或通知用户界面组件类。 对话框 WCAlertView - 自定义对话框。...MJAlertView - 3D效果转场效果警示图--MJAlertView。 SwiftyDrop - 轻量,易用小清新弹出列表及信息提示组件真心不错。...GSAlert.swfit - 苹果在iOS8推出了全新UIAlertController,旧UIAlertView和UIActionSheet渐渐被废弃,如果你仍然支持iOS7系统,你将不得不写两套代码...TKSwarmAlert.swift - TKSwarmAlert.swift:模仿Swarm应用程序Alert提醒框动画工具。...CustomPopOverView - 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮对齐方式

    4.3K20

    ARKit 教学:如何搭配SceneKit来建立一个简单ARKit Demo设定ARKit SceneKit View从ARSCNView移除物件

    ,其实Xcode也有内键ARKit范例App,你仍可以使用Single View App来开发AR app。...连接IBOutlet 我们目前仍在Main.storyboard位置,请往介面右上方找到toolbar,并开启Assistant Editor,现在将ARKit连接到ViewController.swift...档位置: import ARKit 接着请按住control并在ARKit ScenKitView上拖到至ViewController.swift,当连接到时,请指定为IBOutlet,并命名为sceneView...将3D物件加到ARSCNView 话不多说,直接进入增强现实,我们将要一个立方体(box),那我们先将下列代码加到你ViewController类别。...是时候来做些点击手势辨识方法物件内调用方法 从ARSCNView移除物件 在ViewController.swift加入下列代码: @objc func didTap(withGestureRecognizer

    1.8K20

    iOS 9 Storyboard 教程(二下)

    viewController–只有初始viewController是被立即加载.因为你初始viewController是一个 TabBarontroller,它所包含两个viewController...直到你segue他们,其他viewController才被实例化.当你关闭这些viewController时候,他们就立即被释放了.所以只有使用ViewController才存在内存中....,然而这一次你需要从导航栈里推出(push)它,而不是从下往上弹出....就数据源而言应该那样做.运行app然后点击Game行.新Choose Game控制器将会滑出来.然而点击这些行不会做任何事,那是因为这个控制器是在导航堆栈上被弹出.但是你却总可以点击返回按钮返回到....unwind segue 也会将GamePickerViewController从导航栈里弹出.

    2.2K10

    聚焦位置-选择您喜欢位置放置虚拟物体

    类变量 为此,请转到ViewController.swift文件。我们将首先在sceneView声明之后为焦点方块声明一个类变量。它将是具有焦点方形类属性节点。...屏幕中心 让我们回到ViewController.swift并为屏幕中心声明另一个变量。我们将它用作焦点方块参考点,以便在我们移动相机时跟随它们。屏幕中心始终存在,因此它不是可选。...然而,为了在场景上定位节点,我们需要3D坐标。那么,我们如何将某些东西从2D转换为3D呢?...焦点方块更新 接下来,我们想对焦点方块进行其他类型更新。在viewWillDisappear之后ViewController.swift中,为更新创建一个新函数。...打开和关闭 我们如何为焦点方块添加漂亮触感?您可能已经意识到我们有两个用于焦点方块资产图像,一个是开放,一个是关闭。这应该会给你一个提示,我们都会在不同情况下使用它们。

    2.4K30

    Mac OSX 开发入门基础系列之NSTask

    NSTask 与NSThread不同 NSTask会创建隔离可运行实体,执行权限受App沙盒限制 NSTask不与创建进程共享内存空间 NSTask实例在运行时,环境条件不能改变,需要在运行之前进行配置...NSTask 在Swift 中与Objective-C中不同 Objective-C中, 是NSTask类 Swift 中, 是Process类 3....OSX UI开发),并设置好UI界面,效果如下: UI界面 3.2 打开ViewController.swift,设置控件连线属性以及方法:...在Swift中,NSPipe 被改名为Pipe extension ViewController{ fileprivate func captureStandardOutputAndRouteToTextView...后语 关于NSTask使用并不十分复杂,如果想实现强大需求,最好有一些必备Shell编程知识,另外值得注意就是沙盒权限问题,文中一下疑问或者意见,大家可以写在评论区进行讨论,最后希望大家周末愉快

    2.2K40

    平面检测-搜索真实世界表面

    右键单击ViewController.swift并选择新建文件...。然后,在Source下选择Swift File,点击Next。...导入套件 一旦创建了新Swift文件ViewController + ARSCNViewDelegate.swift,就会自动导入Foundation框架。它是我们不需要应用程序基础框架。...在ViewController.swift文件中,将其删除。当我们在它时,向下滚动并删除Mark下注释掉代码,这是该协议下一个方法给定示例。Mark帮助我们分离文件中代码段。...添加锚点 让我们回到ViewController + ARSCNViewDelegate.swift。现在,让我们从ARSCNViewDelegate实现一个新方法来查找表面。...planeNode.eulerAngles.x = -.pi / 2 严重是,谁有时间甚至想要计算和转换度数和弧度?

    2.9K30

    100个iOS开发设计程序员面试题汇总,你将如何作答?

    两者相比有何不同之处,又有何联系? ·为什么Optional在Swift语言中非常重要? ·请解释一下NSError。在Swift中,什么情况下能使用NSError,什么情况下不能?...它是如何响应手势识别(GestureRecognizer)、多点(Multi-Touch)和RunLoop? ·你认为iOS需要添加或改进哪些API?...两者之间有何共同点和不同点? ·表视图(TableView)是什么?集合视图(CollectionView)又是什么? ·什么时候用“弹出(Popover)”属性最为合适?...·Split-viewController是什么? ·选取器视图(PickerView)适合存放哪类内容? ·应该在什么情况下使用标签、文本域和文本视图?...·最小尺寸和最大尺寸应用图标分别是什么样子? ·应用图标能否包含透明部分? ·Newsstand图标与常规应用有何不同? ·请解释一下启动画面(LaunchImages)。

    1.4K40

    Swift 中风味各异依赖注入

    在之前文章中,我们看了一些使用依赖注入不同方法,以实现Swift应用中更多解耦和可测试架构。...例如, "在Swift中使用工厂依赖注入"中把依赖注入和工厂模式结合起来,以及"在Swift中避免使用单利" 中利用依赖注入取代单利。...本周,让我们来看看三种不同方式依赖注入,以及它们如何在Swift中使用。...虽然使用初始化器或基于属性依赖注入来指定NoteManager应始终使用显式队列会很好,这可能需要对类进行大修改,而我们现在还不能/不愿意这样做。 这就是基于参数依赖性注入作用。...,这里更重要是为了能够在我们代码中添加测试支持,同时仍然保持100%向后兼容性。

    80710
    领券