1

對於我的應用程序的iOS7版本,我正在實施像這樣的側菜單控制 - https://github.com/romaonthego/RESideMenu。這個實現是錯誤的,所以我決定從頭開始重新實現它。我使用本教程http://www.doubleencore.com/2013/09/ios-7-custom-transitions/獲取實用說明。示例代碼很好。但在我的情況下,我需要從UIViewController(帶按鈕水龍頭)轉換到UITableViewController,並重新選擇任何表視圖單元格。自定義UIViewController轉換到UITableViewController與iOS7 API

問題是,當表格視圖中的單元格被選中,並且我正在關閉呈現的視圖控制器時,我在實際動畫之前得到了延遲。

//this cause animation with delay 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     [self.presentingViewController dismissViewControllerAnimated:YES completion:NULL]; 
    } 

我注意到,如果選擇單元格後,我點擊呈現tableview中的任何位置,動畫將執行。

我添加使用GCD和固定的問題,一些延遲:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    double delayInSeconds = 0.1; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     [self.presentingViewController dismissViewControllerAnimated:YES completion:NULL]; 
    }); 
} 

但它看起來醜陋給我,也示例代碼教程中,我指出的作品沒有此解決方案,所以我想知道如果我錯過了什麼爲什麼會發生這種情況。 TableView選項設置爲單選,並且tableview單元格選擇樣式設置爲None。

也許我還應該注意到,我在tableview中添加了一些約束條件以使它適合其內容。但我認爲這並不會造成這個問題,就我所知沒有任何限制。

+0

您是否找到答案? –

回答

1

不錯的問題。

如果你不介意的話,你可以請試試這個鏈接也爲側邊菜單iOS7 https://www.cocoacontrols.com/controls/saslidemenu

請告訴我你看到這個鏈接之後。意味着我正在尋找你的上述問題。 :)

朋友你好,

我上面RESideMenu的鏈接它工作正常檢查了。如果你想要我也可以分享代碼。

相關問題