2009-06-01 89 views
6

我該如何實施類似滑動菜單的tweetie?Tweetie喜歡滑動菜單

我完成了與customcell開發tableviewcontroller。 customcell實現了touchesbegan和touchesMoved。它還通過選擇器向父級tableviewcontroller報告滑動手勢。

現在我應該如何去隱藏「Swiped」單元格並將其替換爲「swipe menu view」,以及如何從swipeview上的按鈕獲取操作?

+0

看看https://github.com/thermogl/TISwipeableTableView它需要有點拋光,但它的工作原理,可以是一個開始。 – myell0w 2010-12-28 10:32:06

+0

請注意TISwipeableTableView弄錯了「正常的」UITableView - 事件......在類中模擬它。所以你會得到各種奇怪的非默認行爲...我會試着實現它,但那是一個交易斷路器。 (重寫它並不難) – steipete 2011-02-26 22:54:50

回答

12

每個表格視圖單元都有一個contentView,它包含了該單元的整個區域。將您的輕掃菜單視圖添加爲具有不透明背景的單個容器視圖,以使其位於其他任何位置。定位它,使它左齊平(x = 0),將寬度設置爲0,並將其設置爲隱藏。該單個容器可以包含任何其他子視圖(按鈕等),您可以將單元視圖本身設置爲按鈕事件的目標(然後將它與單元索引信息一起向上展開到父表視圖)。

當需要顯示它時,將其設置爲不隱藏,然後使用UIView動畫使容器寬度從0變爲全表寬度。設置持續時間非常低(即0.2秒),所以它很活潑。當您運行動畫時,滑動式菜單會在單元格內容視圖中顯示其他所有內容。爲了使它消失,只需將其逆轉(在UIView BeginAnimation塊中將寬度設置爲0)。您可能還想在最後設置動畫完成處理程序,並在那裏進行一些管理(將容器視圖設置爲隱藏,釋放內存等)。