对于我的应用程序的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中添加了一些约束条件以使它适合其内容。但我认为这并不会造成这个问题,就我所知没有任何限制。
您是否找到答案? –