簡體   English   中英

觸摸時顯示視圖控制器

[英]Present view controller while touching

我想實現一個保持預覽的按鈕,該按鈕調出一個包含AVPlayerLayer的視圖,只要觸摸不結束,該視圖就會播放。 視頻播放器包含在其他視圖控制器中,我希望能夠在演示時使用presentViewController:animated:而不僅僅是將其添加為子視圖和子視圖控制器。

我的問題是關於如何處理觸摸事件。 我看到兩種可能的方式:

  • 我嘗試將活動的觸地事件轉移到顯示的視圖控制器(甚至不確定)。或者
  • 我嘗試保持原始視圖控制器的手勢識別器處於活動狀態,然后讓視頻視圖控制器知道何時該自行關閉。 我希望可以通過將呈現的視圖控制器的userInteractionEnabled設置為false來實現,或者使用UIViewControllerTransitioningDelegate呈現它,然后跳過調用completeTransition:或類似的操作(我相信觸摸不會在新的注冊)查看,直到完成動畫為止,但如果我錯了,請糾正我)。

我的問題是關於如何處理觸摸事件。

觸摸始終與它們開始的視圖相關聯。您無法將觸摸轉移到其他視圖。 我從未嘗試過,但是我認為您首先應該探索的選擇是:

  • 使用視圖控制器遏制。 使您的預覽視圖控制器成為觸摸起源的子視圖控制器。 這樣,父級及其視圖層次結構就不會消失,盡管它們可能會被掩蓋。

  • 將手勢識別器連接到窗口。 窗口是一個視圖,應該能夠有手勢識別器。 您可以將手勢識別器作為應用程序委托或永遠存在的其他對象的目標,並在觸發識別器時讓委托發布通知。 同樣,我還沒有嘗試過,但似乎應該可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM