天道酬勤,学无止境

3dtouch

UITableViewCell 目标 C 代码上的 3D Touch Peek 和 Pop。 (强制触摸)(3D Touch Peek And Pop on UITableViewCell Objective C Code. (Force Touch))

问题 我需要使用 Force Touch 在 Objective C 中的UITableViewCell上启用Peek And Pop功能。 并且还需要在 peek 视图下显示一些操作,如默认邮件应用程序。 我是 iOS 新手,请帮助我到达那里。 回答1 带有动作的 TableViewCell 和 Collection View Cell 上的 Peek 和 Pop 效果 1)您应该将您的调用者 viewController 类称为 UIViewControllerPreviewing Delegate @interface MyTableViewController() 2) 创建一个@property 来存储信息。 @property (nonatomic, strong) id previewingContext; 3)调用ViewDidLoad中的forceTouchIntialize方法 - (void)viewDidLoad { [super viewDidLoad]; [self forceTochIntialize]; } 4)检查强制触摸是否可用 -(void)forceTouchIntialize{ if ([self isForceTouchAvailable]) { self.previewingContext = [self

2021-10-15 18:06:53    分类:技术分享    ios   objective-c   iphone   3dtouch   force-touch

在同一个视图控制器中的多个集合视图或表格视图上实现 3D 触摸(Implement 3D touch on multiple collection views or table views in the same view controller)

问题 我想对我的应用程序的两个集合视图进行 3D 触摸(仅“Peek”功能)。 它们都包含在同一个视图控制器中。 无论我尝试什么语法,它总是在第一个集合视图中显示单元格的图像和文本,即使我在第二个集合视图中选择一个单元格。 如何将这些分开,以便只有一个专门针对我选择的 collectionview 单元格发生? 以下是我如何实现 3D 触摸功能: 我把它放在 VC 的 viewDidAppear 中,因为它由于某种原因在 viewDidLoad 中不起作用: override func viewDidAppear(animated: Bool) { if( traitCollection.forceTouchCapability == .Available){ registerForPreviewingWithDelegate(self, sourceView: collectionView1) registerForPreviewingWithDelegate(self, sourceView: collectionView2) } 这是我在包含两个集合视图的 VC 中的内容: func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation

2021-10-15 00:36:36    分类:技术分享    ios   swift   uicollectionview   3dtouch   peek-pop

Implement 3D touch on multiple collection views or table views in the same view controller

I would like to have 3D touch on both of the collection views of my app(Only the "Peek" functionality). They are both contained in the same view controller. No matter what syntax I try it always shows the image and text for the a cell in the first collectionview, even if I choose a cell in the second collection view. How do I separate these so that only one happens specifically for the collectionview cell I have selected? Here is how I am implementing the 3D touch functionality: I put this in VC's viewDidAppear because it wasn't working in viewDidLoad for some reason: override func

2021-10-12 07:05:14    分类:问答    ios   swift   uicollectionview   3dtouch   peek-pop

带顶栏的 3D Touch Peek(3D Touch Peek with Top Bar)

问题 我有一个UICollectionView ,它在3D Touch ed 时显示“Peek”。 作为默认行为,“Peek”忽略导航栏。 但是,我确实想像在iMessage Peek中一样显示一个栏,如下所示: Collection View Controller 和 Peek View Controller 都在 Navigation View Controller 中。 我在下面的 Apple 示例代码中有以下片段,我正在尝试将其修改为上述需求: extension ChatTableViewController: UIViewControllerPreviewingDelegate { func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { guard let indexPath = tableView.indexPathForRow(at: location) else { return nil } let storyboard = UIStoryboard(name: "Main", bundle: nil) let viewController =

2021-10-09 06:46:37    分类:技术分享    ios   swift   uiviewcontroller   3dtouch   peek-pop

3D 触控快捷方式小工具(3D Touch Shortcut Widget)

问题 我正在尝试在 3dtouch 可用的 iOS 10 中实现新的“快速菜单小部件”。 我的应用有多个今天的扩展和苹果指南报告 如果您的应用程序有多个小部件,请选择一个显示在有人使用 3D Touch 对主屏幕上的应用程序图标施加压力时出现的快速操作菜单中。 我不明白我可以在哪里“改变”它! 只有一个小部件也能正常工作。 回答1 有一个新的 Info.plist 键UIApplicationShortcutWidget ,您需要将其设置为小部件的包标识符。 请参阅以下文档:https://developer.apple.com/library/prerelease/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW32

2021-10-07 19:27:48    分类:技术分享    xcode   widget   3dtouch   ios10

Peek/Pop 预览忽略集合视图中的单元格角半径(Peek/Pop preview ignores cell corner radius in collection view)

问题 我已将 3D Touch Peek/Pop 功能添加到我的集合视图单元格中,并且效果很好,但是我注意到预览框架不考虑单元格的角半径。 这是我的预览功能: func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { let viewController = storyboard?.instantiateViewControllerWithIdentifier("scholarDetailViewController") as? ScholarDetailViewController let cellPosition = self.scholarsCollectionView.convertPoint(location, fromView: self.view) let cellIndex = self.scholarsCollectionView.indexPathForItemAtPoint(cellPosition) guard let previewViewController = viewController, indexPath = cellIndex

2021-10-07 11:00:31    分类:技术分享    ios   swift   uicollectionview   3dtouch   peek-pop

您可以在小部件上使用 3D Touch 吗?(Can you use 3D Touch on widgets?)

问题 我正在考虑创建一个具有通知中心扩展的 iOS 应用程序。 但是,我需要我的应用程序在通知中心内的扩展程序上使用 3D Touch,这可能吗? 回答1 据我所知,你不能。 从苹果文档中,该功能似乎仅在应用程序和主屏幕上可用: 用户现在可以按下您的主屏幕图标以立即访问您的应用程序提供的功能。 在您的应用程序中,用户现在可以按视图查看其他内容的预览并加速访问功能。 为了实验起见,请尝试使用触摸 ID 注册视图控制器 override func viewDidLoad() { if( traitCollection.forceTouchCapability == .Available){ registerForPreviewingWithDelegate(self, sourceView: view) } } 你会得到一个错误,因为 TodayViewController 不符合这些协议。 这可能是将来要添加的内容,但目前看起来不受支持,很可能是因为“Today Widgets”要尽可能简单。 编辑:从 iOS 10 开始,这不仅是可能的,而且是小部件中的首选功能。 标准文档将告诉您如何实施。

2021-10-07 02:49:26    分类:技术分享    ios   iphone   swift   3dtouch

快速检查是否可以使用 3D Touch(swift check if 3D Touch is possible)

问题 在我的应用程序中,我将显示设置,只有在设备可以 3D Touch 时才应该可见。 目前我检查,如果设备有 ios9。 if #available(iOS 9.0, *) 问题是,例如 iPhone 6 有 iOS 9 但没有 3D Touch。 如何快速检查 3D Touch 的可能性? 我找到了这篇文章,但没有快速解决方案:检查 iOS9 设备上是否支持和启用 3D touch 还有一个问题。 现在我想检查 iOS 9 和 3D Touch 是否可用。 我试试这个: if (#available(iOS 9.0, *)) AND (is3DTouchAvailable() == true) { 但我总是收到这个错误: 'if' 条件后应为 '{' 回答1 试试这个 swift 代码, self指的是你的UIViewController func is3DTouchAvailable() -> Bool { return self.traitCollection.forceTouchCapability == UIForceTouchCapability.Available } 回答2 是的, if self.traitCollection.forceTouchCapability == UIForceTouchCapability.Available可以工作

2021-09-29 18:17:09    分类:技术分享    ios   swift   3dtouch

How to add custom images as UIApplicationShortcutIcon for UIApplicationShortcutItem?

How to add custom images as UIApplicationShortcutIcon for UIApplicationShortcutItem? which is similar like photos UIApplicationShortcutItem in Photos/Message app for most recent.Because all icon are Created an icon from a custom image.The provided image named will be loaded from the app's bundle and will be masked to conform to the system-defined icon style.So how can i get color image as UIApplicationShortcutIcon programmatically?

2021-07-30 04:10:25    分类:问答    ios   3dtouch

Instagram-like force touch popup modal

I'm trying to replicate force touch functionality of Instagram where 1) Put your finger on an image and it gets a little darker (hover effect, easy) 2) Press a little harder and a popup modal preview of the content appears 3) Press even harder and it expands the modal to full screen I'm having problems with Ionic 4/Cordova "3d touch" plugin where it doesn't register the force-touch if I regular-touch the screen first. In order words, step 2 above does not trigger the force touch when listening via threeDeeTouch.watchForceTouches() In order for the listener to trigger I have to go into the

2021-07-11 12:49:37    分类:问答    cordova   ionic-framework   cordova-plugins   ionic4   3dtouch