2: 进入 APP 指定界面 在代理类里执行方法:
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options
options 中含有本次 *** 作的详细信息,我们只需要获取 url 即可,里面可设置参数,以判断跳转到哪个界面,如:
if ([urlStr containsString:@"fengyu"]) {
// 发送跳转到制定界面的通知
[[NSNotificationCenter defaultCenter]postNotificationName:@"NOTIFICATIOFORGOODSNDETAIL" object:nil]
}else{
return NO
}
1.可以使用导航控制器栈。将当前视图控制器作为rootViewController.需要在创建当前控制器的代码中这样来创建UIViewController *vc1=[[UIViewControlelr alloc] init]
UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController:vc1]
[vc1 release]
[window addSubView:navController.view]
[navController release]
只有当当前控制器在导航控制器栈中才可以使用pushViewController来导航其它视图
导航到新的视图控制器:
UIViewController *vc2=[[ViewController alloc] init]
[self.navigationController pushViewController:vc2 animated:YES]
[vc2 release]
2.模态视图
UIViewController *vc2=[[ViewController alloc] init]
[self presentModalViewController:controller animated:YES]
[vc2 release]
3.使用新的视图覆盖当前视图
如果使用这种方式,建议创建一个可维护控制器之间交互的控制器swithController,在这个控制器中来实现不同控制器之间的视图切换
@inertface SwitchViewController:UIViewController
@property(retain) UIViewController *vc1
@property (retain) UIViewController *vc2
-(void)showVC1
-(void)showVC2
@end
@implementation SwitchViewController
@synthesize vc1,vc2
-(void)showVC1 {
if (vc2) {
[vc2.view removeFromSuperView]
}
[self.view addSubView:vc1.view]
}
@end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)