РЕДАКТИРОВАТЬ: Я нашел ответ на свой вопрос. Посмотрите внизу моего сообщения.
У меня возникла проблема с анимацией, которая пытается программным образом нажать 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];
}
Это похоже на то, что перед экраном TableView исчезает. Я понимаю, почему он это делает. Это связано с тем, что новый взгляд нажимается, когда он приближается к нему, как при использовании раскадровки. По какой-то причине он не работает программно.
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];
}