我在我的应用程序中使用 ECSlidingViewController 来实现 Facebook 风格的滑动效果。我有 2 个 TopViewController,一个左侧视图控制器和一个右侧视图控制器以及一个 initviewcontroller,它是一个滑动视图控制器子类。
1. InitViewController:ECSlidingViewController
2.主视图控制器(TopViewController)
3.LeftMenuViewContrller(UIViewController)
4.RightMenuViewController(UIViewController)
5.DetailViewController(顶视图控制器)
我的 MainViewController 上有包含日历事件的 tableview。问题是我想通过单击tableView:didSelectRowAtIndexPath:方法中的事件将 MainViewController 转到 DetailViewController来显示事件详细信息,这是另一个带有一些动画的顶视图控制器(到目前为止我无法获得)。我正在使用以下代码让我进入 DetailViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailsViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"details"];
self.slidingViewController.topViewController = newTopViewController;
[self.slidingViewController resetTopView];
}
这是我的 viewDidLoad 方法
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.layer.shadowOpacity = 0.75f;
self.view.layer.shadowRadius = 10.0f;
self.view.layer.shadowColor = [UIColor blackColor].CGColor;
if (![self.slidingViewController.underLeftViewController isKindOfClass:[LeftViewController class]]) {
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Left"];
}
if (![self.slidingViewController.underRightViewController isKindOfClass:[RightViewController class]]) {
self.slidingViewController.underRightViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Right"];
}
[self.view addGestureRecognizer:self.slidingViewController.panGesture];
}
我想获得 UINavigationController 或 Modal 样式的动画
[self.navigationController pushViewController:newTopViewController animated:YES];
或者
[self presentViewController:newTopViewController animated:YES completion:nil];
请帮忙。谢谢你。