Для версии моего приложения iOS7 я реализую управление боковым меню, подобное этому - https://github.com/romaonthego/RESideMenu. Эта реализация верна, поэтому я решил переопределить ее сам с нуля. Я использовал этот учебник http://www.doubleencore.com/2013/09/ios-7-custom-transitions/ для получения практических инструкций. Пример кода отлично работает. Но в моем случае мне нужно перейти от UIViewController (с нажатием кнопки) к UITableViewController и вернуться к выбору любой ячейки таблицы.Пользовательский переход UIViewController к UITableViewController с API iOS7
Проблема в том, что, когда выбрана ячейка в виде таблицы, и я увольняю представленный контроллер представления, я получил задержку перед фактической анимацией.
//this cause animation with delay
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL];
}
Я заметил, что если после выбора ячейки я нажимаю в любом месте представленного tableview, анимация выполняет.
Я добавил некоторую задержку с использованием НОДА и что фиксированный вопрос:
- (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 задано одиночное выделение, а стиль выбора ячейки таблицы - None.
Может быть, я также должен заметить, что я добавляю некоторые ограничения в tableview, поскольку это высота, чтобы он соответствовал его содержимому. Но я думаю, что это не вызывает этой проблемы, насколько я могу, без каких-либо ограничений.
Вы узнали ответ? –