EDIT: Я нашел ответ на свой вопрос. Посмотрите на нижнюю часть моего сообщения.iOS 7 UITableView didSelectRowAtIndexPath pushViewController программно, проблема с анимацией
У меня возникла проблема с анимацией, которая пыталась проталкивать UIViewController
в didSelectRowAtIndexPath
на UITableView
программно. Когда я запускаю этот код в iOS 6, он отлично работает. В iOS 7 анимация перепуталась (она анимирует слева около 20% экрана, а затем исчезает). Если я сделаю это в раскадровке, анимация прекрасна. Я что-то упустил или есть способ обойти это без использования раскадровки?
// This is a cut down example.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController = [[UIViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
}
Это то, что похоже на таблицу перед исчезновением таблицы. Я понимаю, почему он это делает. Это связано с тем, что новый взгляд нажимается, когда он приближается к нему, как при использовании раскадровки. По какой-то причине он не работает программно.
EDIT: Это все, что я пропустил По какой-то причине вы должны установить BackgroundColor.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController = [[UIViewController alloc] init];
[viewController.view setBackgroundColor:[UIColor orangeColor]];
[self.navigationController pushViewController:viewController animated:YES];
}
Вы пробовали просто поместить его в блок анимации UIView, а затем настроить анимацию NO как работу? – AdamG
Является ли частью проблемы, что вы не видите, что 'viewController' нажат на стек? или проблема только в том, что старый 'viewController' только перемещается налево примерно на 20%? –
Появляется My ViewController. Это анимация работает неправильно. – Jaybit