0

我有包含與包含含UILabels,UITextFields等衆多嵌套UIViews嵌套UIScrollView的頂級UIView的視圖層次創建UIView的疊加來捕獲所有觸摸和手勢

我想一個覆蓋UIView在一切的頂部,所以我可以截取某些觸摸和拖動事件(基本上用於編輯整體佈局)。

我想UIScrollView仍然可以工作,所以我需要通過(所有?)觸摸和手勢通過覆蓋到底層的意見。當某些觸摸發生時,我將攔截觸摸並創建一個拖動的情境,觸摸的子視圖將在子視圖中以編程方式移動。

什麼是最好的方式來創建覆蓋UIView,以便(所有?)接觸和手勢可以通過?一些代碼示例將非常感謝。

非常感謝。

回答

0

子類覆蓋的UIView和覆蓋的touchesBegan,倒是..這樣的方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    // Do your stuff 
    [[[self view] nextResponder] touchesBegan:touches withEvent:event]; 
} 

做touchesMoved,touchesEnded和touchesCancelled相同。

不是100%肯定這會工作,給它一個去:)

+0

這不起作用處理一切。我相信它將觸摸傳遞給'base'或'root'UIView,繞過了坐在基座之上的所有UIViews。這大概是因爲覆蓋層實際上是基礎的直接子視圖,而不是坐在其間的所有其他視圖。 – whatdoesitallmean