2015-11-24 9 views
10

3 डी टच पीक और पॉप कार्यक्षमता का उपयोग करके, नीचे दिखाए गए क्षमता की नकल करने का सबसे प्रभावी तरीका क्या है (एक क्रिया करने के लिए "peeked" सामग्री को साइड-टू-साइड स्वाइप करने के लिए)? नीचे स्क्रीनशॉट आईओएस देशी मेल ऐप से आता है।3 डी टच पिक मेल की तरह स्वाइप करें

Mail Swipe 3D Touch - Unread Mail Swipe 3D Touch - Trash

+1

यह उल्लेखनीय है कि फेसबुक को निजी एपीआई का उपयोग करने के लिए अनुमोदित होने तक, उनका ऐप आपको अधिक छवियों को देखने के लिए एल्बम पर तरफ स्लाइड करने की अनुमति देता है, इसलिए उस कार्यक्षमता के साथ ऐप स्टोर में ऐप्स हैं। –

+2

@Dougmith आप इसे सहित पूरे यूआईकिट 3 डी टच कार्यक्षमता को पुनः कार्यान्वित कर सकते हैं। फेसबुक ने बल इशारा पहचानकर्ता को मैन्युअल रूप से सुनकर इसे लागू किया है। –

उत्तर

9

अद्यतन

आप इस प्रभाव को आईओएस 10 पर दोहरा सकते हैं। UIPreviewInteraction और UIPreviewInteractionDelegate नामक एपीआई का एक नया सेट है जो चोटी/पॉप इंटरैक्शन के लिए कस्टम प्रस्तुति सक्षम करता है। मैं इस वर्ष के डब्ल्यूडब्ल्यूडीसी से A Peek at 3D Touch देखने की अत्यधिक अनुशंसा करता हूं।

मूल उत्तर

iOS Runtime Headers को देखते हुए, वहाँ एक वर्ग UIPreviewPresentationController कहा जाता है। यह peeks के लिए ज़िम्मेदार नियंत्रक है। इसके अंदर, leadingPreviewAction और trailingPreviewAction नामक ऑब्जेक्ट्स के संदर्भ हैं। इनके पास समान गुण हैं जो एज बाधाओं और केंद्रों से निपटते हैं। और (ऑटो लेआउट में) के पीछे शब्दों का उपयोग करके निर्णय लेते हुए, ये बाएं/दाएं कार्रवाई आइटम के अनुरूप हो सकते हैं।

यह अटकलें है, लेकिन मुझे लगता है कि ये संबंधित निजी वर्ग (_UIPreviewQuickActionView) उस व्यवहार को नियंत्रित करते हैं जिसे आप ढूंढ रहे हैं। वे अभी अनुपलब्ध हैं।

इसी तरह, UIPreviewAction के लिए दस्तावेज़ का कहना है:

एक पूर्वावलोकन क्रिया, या त्वरित कार्रवाई एक नज़र, एक झलक नीचे प्रदर्शित होता है जब कोई उपयोगकर्ता ऊपर की ओर झांकना स्वाइप। एक चोटी त्वरित कार्रवाई आमतौर पर आपके ऐप के गहरे लिंक का चयन करती है और इसमें शीर्षक, शैली और एक हैंडलर होता है।

+1

और अपने प्रश्न का उत्तर देने के लिए "क्षमता की नकल करने का सबसे प्रभावी तरीका क्या है", आप कार्यक्षमता को पुनर्निर्मित करना समाप्त कर देंगे जैसे @ डौगस्मिथ ने कहा। मैं इस बारे में विचारों के लिए यहां (https://github.com/marmelroy/PeekPop) शुरू करूंगा। –

+2

प्रतिक्रिया के माध्यम से, धन्यवाद! आईओएस रनटाइम हेडर के बारे में जानकारी विशेष रूप से दिलचस्प है, मैंने पहले उन लोगों में भाग नहीं लिया है। यह निश्चित रूप से सबकुछ @Chris को और अधिक समझने में मदद करता है। – kbpontius

2

पीक त्वरित कार्रवाइयां, अपने detailledViewControler (या जो भी आप इसे नाम) का उपयोग करने के previewActionItems ऐसा ओवरराइड करना चाहिए:

lazy var previewActions: [UIPreviewActionItem] = { 
     func previewActionForTitle(title: String, style: UIPreviewActionStyle = .Default) -> UIPreviewAction { 
      return UIPreviewAction(title: title, style: style) { previewAction, viewController in 
       guard let detailViewController = viewController as? DetailViewController, 
          item = detailViewController.detailItemTitle else { return } 

       print("\(previewAction.title) triggered from `DetailViewController` for item: \(item)") 
      } 
     } 

     let action1 = previewActionForTitle("Default Action") 
     let action2 = previewActionForTitle("Destructive Action", style: .Destructive) 

     let subAction1 = previewActionForTitle("Sub Action 1") 
     let subAction2 = previewActionForTitle("Sub Action 2") 
     let groupedActions = UIPreviewActionGroup(title: "Sub Actions…", style: .Default, actions: [subAction1, subAction2]) 

     return [action1, action2, groupedActions] 
    }() 


override func previewActionItems() -> [UIPreviewActionItem] { 
    return previewActions 
} 

आप पूरी यहाँ से पा सकते हैं: https://developer.apple.com/library/ios/samplecode/ViewControllerPreviews/ViewControllerPreviewsUsingtheUIViewControllerpreviewingAPIs.zip

+0

यह निश्चित रूप से मुझे सही दिशा में इंगित करता है, लेकिन लिंक में प्रदान किया गया कोड मेल एप कैन की तरह 3 पंक्तियों में से किसी एक पर 3 डी टच का उपयोग करने के बाद साइड-टू-साइड को स्वाइप करने में सक्षम नहीं लगता है। क्या मुझसे कुछ गलत हो रही है? – kbpontius

+1

मेरा मानना ​​है कि सार्वजनिक एपीआई के साथ आप जो चाहते हैं उसे हासिल करने का कोई तरीका नहीं है। सिर्फ इसलिए कि सार्वजनिक एपीआई लगभग 2 या 3 तरीकों से है और 'UIPreviewActionItem' के अलावा कोई विकल्प नहीं प्रदान करता है जिसमें केवल 3" शैलियों "हैं। मेरा मानना ​​है कि ऐप्पल इसे अपने लिए रख रहा है ... – AncAinu

+0

यही वह था जिसे मैं डरता था। उस पर अधिक दस्तावेज देखना अच्छा लगेगा। यदि आप इस पर ठोस जानकारी पा सकते हैं तो मुझे आपको बक्षीस देने में खुशी होगी।अब तक आपके विचारों के लिए धन्यवाद। – kbpontius

संबंधित मुद्दे