我怎样才能得到当前视图是从那个传输的视图
How can I get the view that current view is transmiited from that
我使用下面的代码从我的 mainViewController 传输到另一个 UIViewController
:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:otherUiViewController];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
[UIView transitionFromView:window.rootViewController.view
toView:navigationController.view
duration:1.2f
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished){
window.rootViewController = navigationController;
}];
在 otherUIViewController
的主要主题是用户输入一些输入并提交(但他们可能也需要导航到其他页面,这就是为什么我使用 UINavigationController
来显示 otherUIViewController
) 当他们提交输入时,我想将它们传回我的 mainViewController
(用户从它传来的 UIViewController
)
问题是回传用户的最佳方式是什么?有没有办法让我得到显示这个 UIViewController
(otherViewController) 的原始 mainViewController
并传回那个,或者我应该创建我的 mainViewController
的新实例并再次使用上面的代码进行传输?
编辑
我忘记说的一个非常重要的一点是,我希望用户在提交输入之前不能返回到 mainViewController
实现此目的有两个不错的选择:
有一个 navigationController
作为 rootViewController
和你当前的主视图控制器作为它的 topViewController
。推送您需要用户输入数据的视图控制器。确保在输入所有数据之前禁用后退按钮。
另一种选择是将主视图控制器保留为 rootViewController
并使用 `presentViewController:animated:completion: 从中以模态方式呈现导航控制器。
应该注意的是,替换 rootViewController
很少是一个好主意,因为它会产生不需要的副作用。
写得好!
我使用下面的代码从我的 mainViewController 传输到另一个 UIViewController
:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:otherUiViewController];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
[UIView transitionFromView:window.rootViewController.view
toView:navigationController.view
duration:1.2f
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished){
window.rootViewController = navigationController;
}];
在 otherUIViewController
的主要主题是用户输入一些输入并提交(但他们可能也需要导航到其他页面,这就是为什么我使用 UINavigationController
来显示 otherUIViewController
) 当他们提交输入时,我想将它们传回我的 mainViewController
(用户从它传来的 UIViewController
)
问题是回传用户的最佳方式是什么?有没有办法让我得到显示这个 UIViewController
(otherViewController) 的原始 mainViewController
并传回那个,或者我应该创建我的 mainViewController
的新实例并再次使用上面的代码进行传输?
编辑 我忘记说的一个非常重要的一点是,我希望用户在提交输入之前不能返回到 mainViewController
实现此目的有两个不错的选择:
有一个 navigationController
作为 rootViewController
和你当前的主视图控制器作为它的 topViewController
。推送您需要用户输入数据的视图控制器。确保在输入所有数据之前禁用后退按钮。
另一种选择是将主视图控制器保留为 rootViewController
并使用 `presentViewController:animated:completion: 从中以模态方式呈现导航控制器。
应该注意的是,替换 rootViewController
很少是一个好主意,因为它会产生不需要的副作用。
写得好!