2016-02-11 53 views

回答

3

有可能是另一種解決方案,但一個是什麼,我認爲是可以顯示在檢測到3D觸控的這個自定義視圖。您可以從

  • UIViewControllerPreviewingDelegate方法previewingContext:viewControllerForLocation: 或 可以使用的UITouchforcemaximumPossibleForce性能檢測應用在屏幕上的壓力,並顯示後特定的壓力水平該自定義視圖做到這一點。
0

您可以試試我自己的圖書館ActionsList,它與Apple的Quick Actions菜單具有相同的外觀和風格。

尚未支持3D Touch支持,但它可以幫助您提供與提供者屏幕截圖相同的動作列表。

首先您應該創建列表。

如果你想從UIButton目前它的UITabBarItemUIBarButtonItem有內置的方法來創建列表:

// element is UIButton, UIBarButtonItem or UITabBarItem 
let list = element.createActionsList() 

否則應該使用ActionsListModel結構:

let list = ActionsListModel(senderView: viewThatInitiatedListPresenting, 
          sourceView: viewToPresentListFrom, 
          delegate: listDelegate) 

然後將動作添加到列表中

list.add(action: ActionsListDefaultButtonModel(localizedTitle: "Create Alarm", 
       image: UIImage(named: "Alarm clock"), 
       action: { action in 
        // You can use action's list property to control it 

        // - To dismiss 
        action.list?.dismiss() 

        // - To update action appearance 
        action.appearance.//anything 
        // Do not forget to reload actions to apply changes 
        action.list?.reloadActions() 
      })) 

之後,你可以提出名單

list.present() 

// Save list or it will be deallocated and not reachable outside of the scope it was created in 
self.list = list 

enter image description here

相關問題