使用以下代码推送视图控制器。点击UITableViewCell
需要推送DetailViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row)
{
NSDate *object = self.objects[indexPath.row];
DetailViewController *controller = [DetailViewController new];
[self.navigationController pushViewController:controller animated:YES];
}
}
现在问题是我在动画时得到一个混蛋。请参阅屏幕截图
答案 0 :(得分:1)
因为透明度。只需为viewcontroller设置背景颜色。就这样。
答案 1 :(得分:0)
很可能你正在做某事"沉重的"在主线程上,加载DetailViewController。
你能告诉我们你在DetailViewController中做了什么吗?
答案 2 :(得分:0)
我认为分配对象和推送同一个对象存在问题。
进行以下更改,它会正常工作。
您的代码:
DetailViewController *controller = [DetailViewController new];
[self.navigationController pushViewController:controller animated:YES];
替换:
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
MyViewController *controller = (MyViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"<your Storyboard ID>"];
它会在我的最后工作。
希望这对你有所帮助。