這是一個漫長的一天,在鍵盤,所以我伸手:-)UIPageViewController陷阱所有UITapGestureRecognizer活動
我基本上遵循蘋果的標準模板典型的實現有一個UIPageViewController
。我正在嘗試添加一個疊加層,它允許用戶執行諸如觸摸按鈕之類的操作,以跳轉到某些頁面或關閉視圖控制器以轉到應用程序的另一部分。
我的問題是,UIPageViewController
捕捉我的覆蓋子視圖中的所有事件,我努力尋找一個可行的解決方案。
下面是一些代碼,以幫助例子...
在viewDidLoad中
// Page creation, pageViewController creation etc....
self.pageViewController.delegate = self;
[self.pageViewController setViewControllers:pagesArray
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:NULL];
self.pageViewController.dataSource = self;
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
// self.overlay being the overlay view
if (!self.overlay)
{
self.overlay = [[MyOverlayClass alloc] init]; // Gets frame etc from class init
[self.view addSubview:self.overlay];
}
這一切的偉大工程。疊加層被創建,它會像預期的那樣顯示在UIPageViewController
的頁面頂部。當頁面翻轉時,它們翻轉覆蓋層下 - 再次如您所期望的那樣。
但是,self.overlay
視圖內的UIButtons
永遠不會獲得輕敲事件。 UIPageViewController
響應所有事件。
我已經嘗試覆蓋-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
每個建議沒有成功。
UIPageViewController Gesture recognizers
我曾嘗試手動捕獲所有事件和處理他們自己 - 不工作(和說實話,即使沒有它似乎是一個黑客攻擊的一位)。
有沒有人有關於如何捕捉事件的建議,或者更好的方法來使用UIPageViewController
頂部的覆蓋。
任何和所有幫助非常感謝!
這工作Basem!對不起,我直到現在才把它作爲正確的答案! – Hooligancat