HTML5¼¼Êõ

Swift Íæ×ª 3D Touch Ö® Peek Pop - Ray Liang(2)

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£º²©¿ÍÔ° 2015-11-22 11:28 ÎÒÒªÆÀÂÛ( )

ҪʵÏÖÎÒµÄÏë·¨£¬Ö»ÒªÓà CGRectContainsPoint() ·½·¨¼ì²éһϵ±Ç°µÄµãÊDz»ÊÇÔÚÄ¿±êÇøÓòÄÚ£¬Èç¹û²»ÊÇ·µ»Ø¿Õ¾ÍÐÐÁË¡£ÄÇô´úÂë¾Í¿ÉÒÔÕâÑùд£º func previewingContext(previewingContext: UIViewControllerPreviewing,

ҪʵÏÖÎÒµÄÏë·¨£¬Ö»ÒªÓà CGRectContainsPoint() ·½·¨¼ì²éһϵ±Ç°µÄµãÊDz»ÊÇÔÚÄ¿±êÇøÓòÄÚ£¬Èç¹û²»ÊÇ·µ»Ø¿Õ¾ÍÐÐÁË¡£ÄÇô´úÂë¾Í¿ÉÒÔÕâÑùд£º

func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { return CGRectContainsPoint(peekButton.frame, location) ? SFSafariViewController(URL: NSURL(string:"")!) : nil }

Õâ¾ÍÊÇ×îÖÕЧ¹û£º

Èç¹ûÎÒÃÇѹϵÄÊÇ table µÄÒ»¸ö cell ÎÒÃÇ¿ÉÒÔÓà tableView.indexPathForRowAtPoint ·½·¨ÖØÐ»ñÈ¡Á˶ÔÓ¦µÄ cell ¶ÔÏó

¶¯×÷²Ëµ¥

µ±ÎÒÃÇ´¥·¢ÁË Peek ÐÐΪ֮ºó£¬½«Ô¤ÀÀÊÓͼÏòÉÏÍÆÊ±¿ÉÒÔÔÚÏ·½³öÏÖÒ»¸öÓë ActionSheet ÀàËÆµÄ²Ëµ¥¿ìËÙ²Ù×÷µ±Ç°Ô¤ÀÀÏîÄ¿£¬Õâ¸ö¹¦ÄܾÍÊÇ UIViewControllerPreviewingDelegate µÄÁíÒ»¸ö·½·¨ previewActionItems ¡£Õâ¸ö·½·¨ÊµÏֺܼòµ¥£¬Ö»Êǽ«ÏîÄ¿µÄ¾ßÌå²Ù×÷ʵÏÖΪһ¸ö UIPreviewActionItem Êý×é²¢·µ»Ø¼´¿É£¬Õâ¸öºÍ ActionSheetµÄʵÏÖ·½·¨¼«ÎªÏàËÆ¡£

×¢£ºpreviewActionItems ÊÇÒ»¸ö UIViewController µÄÐÂÔö·½·¨

ÒÔÏ´úÂëʾÀýÊÇÉú³ÉÒ»¸ö´øÓС°É¾³ý¡±ºÍ¡°Íê³É¡±µÄ²Ëµ¥Ï

extension SFSafariViewController { override public func previewActionItems() -> [UIPreviewActionItem] { let deleteAction = UIPreviewAction(title: "ɾ³ý", style: UIPreviewActionStyle.Destructive, handler: { (previewAction,viewController) in NSLog("Delete") }) let doneAction = UIPreviewAction(title: "Íê³É", style: UIPreviewActionStyle.Default, handler: { (previewActin, viewController) in NSLog("Done") }) return [doneAction, deleteAction] } }

ÔËÐÐЧ¹ûÈçÏ£º

ºÃÁ˶ÔÓÚPeekµÄ¿ØÖƾÍÊÇÕâô¶à£¬µ«´ËʱÈç¹ûÎÒÃÇÖØÑ¹´¥·¢ Pop »áÂíÉÏʲô¶¼Ã»ÓÐÁË£¡ÎªÊ²Ã´ÄØ£¿ÒòΪÎÒÃÇ»¹ÓÐÁíÒ»¸ö·½·¨»¹Ã»ÓÐʵÏÖÄØ£¬Õâ¸ö·½·¨ÊµÏÖÆðÀ´Ò²ºÜ¼òµ¥£¬Ö±½ÓÓà showViewController()·½·¨½«viewControllerToCommitÕâ¸ö²ÎÊý¸øÏÔʾ³öÀ´¾ÍÊÇÁË£¬´ÓÕâÀïÎÒÃǾͿÉÒԵóöÕâÑùµÄ½áÂÛÁË£¬peek ±»Ö´ÐкóËù·µ»ØµÄ ¿ØÖÆÆ÷ʵÀý½«»á±»´«µÝµ½ Õâ¸ö·½·¨µÄ commitViewController ÖС£

¾ßÌå´úÂëʵÏÖÈçÏ£º

func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) { showViewController(viewControllerToCommit, sender: self) }

That's all! ½«ÒÔÉϵĴúÂëдºÃ Load µ½ÎÒÃǵÄÊÖ»úÉϾͿÉÒÔÌåÑéÕâ¸öСʾÀýÁË¡£ÓÐÒ»µã±È½ÏÒź¶µÄÊÇ£¬Ä£ÄâÆ÷ÊDz»ÄÜÄ£Äâ 3D Touch µÄ£¬Ö»ÄÜÔÚÕæ»úÉϵ÷ÊÔ£¬Ï£Íû Apple »áÔÚÏÂÒ»¸ö°æ±¾µÄ XCode ÖмÓÈë3D Touch µÄÄ£ÄâÆ÷Ö§³Ö¡£

×îºó£¬·îÉϱ¾ÎÄÕµÄÍêÕû´úÂëʾÀý£º https://github.com/DotNetAge/PeepPopExample

С½á

¹ØÓÚ Application shortcut ÊǸö±È½Ïµ°Í´µÄ¹¦ÄÜ£¬ËäÈ»ËüÄÜÖ§³Ö¾²Ì¬Ó붯̬²Ëµ¥£¬µ«ÊÇдÆðÀ´ÄÚÈÝÒ²²»ÉÙ£¬ËùÒÔ½ñÌ컹ÊÇ´òËãÏÈдµ½ÕâÀï¡£ÒÔºóÔÙÕÒʱ¼äרÃÅдһƪ¹ØÓÚ Application shortcut µÄÎÄÕ°ɡ£

posted @

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎ×ªÔØµÄ¸å¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬Çë×ªÔØÊ±Îñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • AlloyTouchÖ®ÎÞÏÞÑ­»·select²å¼þ - ¡¾µ±ÄÍÌØ¡¿

    AlloyTouchÖ®ÎÞÏÞÑ­»·select²å¼þ - ¡¾µ±ÄÍÌØ¡¿

    2017-03-03 14:01

  • AlloyTouchÖ®selectÑ¡Ôñ²å¼þ - ¡¾µ±ÄÍÌØ¡¿

    AlloyTouchÖ®selectÑ¡Ôñ²å¼þ - ¡¾µ±ÄÍÌØ¡¿

    2017-02-28 11:01

  • AlloyTouchʵÏÖÏÂÀ­Ë¢Ð - ¡¾µ±ÄÍÌØ¡¿

    AlloyTouchʵÏÖÏÂÀ­Ë¢Ð - ¡¾µ±ÄÍÌØ¡¿

    2017-01-10 13:01

  • AlloyTouchʵս--60ÐдúÂë¸ã¶¨QQ¿´µã×ÊÁÏ¿¨ - ¡¾µ±ÄÍÌØ¡¿

    AlloyTouchʵս--60ÐдúÂë¸ã¶¨QQ¿´µã×ÊÁÏ¿¨ - ¡¾µ±ÄÍÌØ¡¿

    2016-12-29 16:00

ÍøÓѵãÆÀ
×