问题标签 [3dtouch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
631 浏览

ios - “标题”的类型与协议“UIPreviewActionItem”所要求的可选性不同

所以我试图为这样的视图控制器快速创建几个预览操作项:

这给了我这个编译错误消息:

我理解错误消息,但我应该如何更改“标题”的可选性?

Objective-C 中的相同代码可以完美运行。

0 投票
2 回答
980 浏览

ios - Interface Builder 不显示 segues 的 peek 和 pop 选项

我想为我的应用程序添加 3D 触摸功能,但 Interface Builder 没有显示 peek 和 pop 选项。也不是为了行动

显示动作转场的属性检查器

也不是手动segues。 显示手动 segue 的属性检查器

我的开发目标是 iOS 9.1,我使用的是 Xcode 7.2 (7C68)。是什么赋予了?

0 投票
1 回答
1365 浏览

ios - 在我的应用程序中使用 3D Touch

所以我正在尝试使用shortCutItems 在我的应用程序图标上添加3D Touch。这是我的 AppDelegate.swift:

我有一些问题。供参考!我的项目中没有 tabBarController。

当我使用 3D Touch 项目打开我的应用程序时,它会在打开应用程序之前冻结 4-5 秒。打开应用程序时,后退按钮不起作用。

那么有没有办法在初始控制器上打开应用程序,并对正确的视图控制器执行 segue?

0 投票
2 回答
1375 浏览

ios - 根据预览视图控制器的 PHAsset 大小计算 preferredContentSize

我正在实现一个 3D Touch 预览(peek)视图控制器,以在用力按下 PHAsset 时显示。我返回的视图控制器previewingContext:viewControllerForLocation:只是全屏显示照片。我目前没有preferredContentSize在那个视图控制器上设置,所以系统可以根据需要调整它的大小。因此,当照片不完全适合框架时,照片上方和下方会有一些额外的填充(或者如果我使用 ScaleAspectFill 而不是 Fit,照片会被裁剪)。我想确保不会发生这种情况 - 照片应该完全适合预览框架,没有额外的填充和裁剪。我的问题是,如何确定正确的尺寸?

PHAssetpixelWidthpixelHeight这可能非常有用。但是在Apple 的示例代码中,它指出在设置内容大小时提供的宽度应该为零,因为它不用于纵向。我可以确认它确实忽略了纵向宽度,但没有忽略横向宽度。所以我想我可以在预览视图控制器中检测视图的宽度,viewWillAppear例如,并使用它来执行计算,但这会返回与全屏相同的宽度(iPhone 6s 为 375)。

如何设置preferredContentSize适合全尺寸图像的纵横比?

请注意,Dropbox 应用程序的行为符合预期 - 预览窗口的大小适合正在预览的照片。当然还有照片应用程序。

0 投票
1 回答
1806 浏览

ios - 使用 3D Touch Peek & Pop 时以模态方式呈现提交视图控制器,而不是推送

我有一个应用程序,允许用户查看UICollectionViewController嵌入在UINavigationController. 当用户点击查看照片时,我会以模态方式在全屏(不是默认的全屏)上呈现一个新的视图控制器。我现在想实现一个 3D Touch 提交(弹出)视图控制器,使其完全按照用户点击照片时的样子。问题是,当弹出全屏照片时,iOS 在幕后将这个视图控制器推送到堆栈上 - 导航栏仍然可见,并且它添加了一个返回按钮以返回到前一个屏幕。我不希望这样,我希望以模态方式呈现提交视图控制器。

我注意到如果我删除导航控制器,iOS 将以模态方式呈现提交视图控制器,而不是推送。但我无法删除我的导航控制器,它仍然只是全屏显示,而不是全屏显示。

当原始视图控制器嵌入导航控制器时,如何更改默认行为以便提交视图控制器以模态方式显示在全屏而不是推送到堆栈上?

当我modalPresentationStyle在. 这似乎没有任何区别。.OverFullScreenpreviewingContext:commitViewController:

当前的行为是一个问题,原因有以下几个:
- 我呈现在全屏上,因此底层视图控制器仍然在下面可见,模糊了。当它被推动时,无法达到此效果。
- 我使用自定义转换呈现全屏照片UIViewControllerTransitioningDelegate,并且它也会在关闭时转换。在推送后关闭它时,它只执行默认的弹出动画而不是我的自定义动画。

0 投票
2 回答
517 浏览

ios - 由于意外崩溃,3D Touch 快捷方式无法使用

我正在尝试将3D Touch 快捷方式添加到应用程序中,当在主屏幕上的应用程序图标上使用3DTouch时,我设法让快捷方式出现;但是,当使用快捷方式时,应用程序在加载时崩溃,我不确定为什么。

我已经设法让应用程序为书签快捷方式加载,但它不会启动BookmarksViewController,它只是加载InitialViewController.

该应用程序嵌入在每个选项卡的 aUITabBarController和 a中。UINavigationController我尝试加载的两个视图控制器都位于不同的选项卡中,但导航控制器堆栈中的第一个视图。

有谁知道我哪里出错了?

info.plist 文件

在此处输入图像描述

应用代理

故事板 ID

这些是视图控制器的 StoryboardID。

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
69 浏览

ios - 使用 QuickActionItems 时 iPhone 冻结

我在我的应用程序图标上添加了 3D Touch 以显示快速操作菜单。我想我应该正确设置它。

问题是,当我在“快速操作”菜单中选择一项时,iPhone 在打开应用程序之前会冻结几秒钟。

这是我的AppDelegate.swift

0 投票
1 回答
1543 浏览

ios - 3D Touch Quick Action 4 物品限制?

我的应用程序设置了 3D Touch 的快速操作。但是,我注意到即使我尝试添加更多项目,我也仅限于 4 个项目。我还没有成功找到任何证实这一点的文件。有没有其他人发现这个限制?

谢谢,日野

0 投票
1 回答
287 浏览

ios - PHLivePhotoView 和与 UILongPressGestureRecognizer 的向后兼容性

使用 时PHLivePhotoView,无需在此视图中添加 3D Touch 手势即可触发实况照片的播放。此功能是内置的。还知道实时照片可以在不支持 3D Touch 的设备上播放,只需长按即可,例如在照片应用程序中。

我的问题是,是否PHLivePhotoView也提供这种向后兼容的功能,或者我是否需要UILongPressGestureRecognizer为不兼容的设备添加并手动启动 Live Photo 播放,像这样?

0 投票
1 回答
1484 浏览

swift - 将 3D Touch 与 Storyboard 的 peek and pop 结合使用

我发现了使用 3D Touch 的非常简单的方法——在故事板中选中“Peek & Pop”。但我正在努力解决一个问题。

我有 UITableView,当用户触摸单元格时,我的代码一切正常:

所以我根据选定的行在我的详细控制器中填充数据。但是当我按下 Peek 或 Pop 方法时tableView.indexPathForSelectedRow总是返回 nil (嗯..我没有选择行,我只是预览所以nil我猜是 indexPath)。如何让“偷看”的单元格 indexPath 将其传递给 segue?

或者情节提要的 Peek & Pop 不能以这种简单的方式工作,我需要在我的代码中完全实现 peek & pop?