我正在研究iOS 7 iPad應用程序的「用戶個人資料」部分。在這一領域,我們通過一系列頁面向用戶介紹他們自己的信息 - 傳記信息,家庭,聯繫信息等。我設置的方式是通過UIPageViewController,其中用戶個人資料的每個頁面是它自己的UIViewController(帶有一個UIScrollView,因爲每個頁面都可以變長),以便用戶在瀏覽頁面時可以平滑地滑動頁面。在一些頁面上,我們也有UITableViews(不佔用整個屏幕,因爲這是一個iPad應用程序,而不是iPhone應用程序)供用戶添加信息。因此,在這些網頁上的整體簡化視圖層次是:iOS 7 iPad:UITableView在UIPageViewController中滑動刪除(衝突手勢識別器)
UIPageViewController
的UIScrollView
的UITableView
我希望用戶能夠使用刷卡到刪除手勢從UITableView中刪除單元格。不幸的是,在UITableView中激活滑動刪除的平移手勢被UIPageViewController拾取並滾動到下一頁,而不是顯示刪除按鈕。讓刪除按鈕顯示是非常不一致的 - 可能是9次,它會滾動到下一頁。
理想情況下,我將訪問UIPageViewController的平移手勢識別器,並嘗試設置它與UITableView的平移手勢識別器之間的某種依賴關係,或者讓UIPageViewController的手勢識別器不會在UITableViewController區域內觸發, 或者其他的東西。但是,由於this phenomenon(無論是錯誤還是功能),我無法訪問UIPageViewController的手勢識別器,所以我不能做像設置其委託和覆蓋像gestureRecognizerShouldBegin這樣的方法的事情。我也無法獲得UIPageViewController視圖的手勢識別器。
有沒有人有任何想法來解決這個問題?
不幸的是,由於每個單獨的頁面視圖控制器都有一個UIScrollView,所以我認爲這種方法也可以捕捉那些滾動視圖並阻止它們滾動,對嗎?由於這些單獨的頁面是UIPageViewController的子視圖。這將是不受歡迎的。 – UberJason
不,在pvc中有一個滾動視圖,位於包含的vc視圖下(循環的一點是不依賴於pvc視圖的任何其他子視圖)。循環只挖掘一個深度。但是我認爲我的答案對你來說還是不夠的,因爲它確實不能解決選擇性使用頁面滾動手勢的需要。我不確定你的問題是否可以在不訪問頁面視圖控制器的gr的情況下解決。 – danh
我明白了,謝謝澄清。不幸的是,我認爲你是對的,這並不能完全解決問題,但如果我需要這樣做的話,記住一個好的提示。 – UberJason