在IOS中调用另一个类

时间:2014-08-01 12:51:37

标签: ios class view overlay uitabcontroller

我是IOS平台的新手,在研究了它的工作原理之后,我对如何调用新的类/视图并在按下按钮时覆盖当前视图存有疑问。在android我做:

Intent intent = new Intent(a.class, b.class);
startActivity(intent);

在互联网上搜索,我注意到我必须使用导航栏才能完成。我启动了一个带标签栏控制器的应用程序,并推出了导航控制器。我使用下面的代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"Dicas"];
[self.navigationController pushViewController: myController animated:YES];

并返回: enter image description here 有一种方法可以覆盖当前视图吗?我总是不得不使用导航栏调用另一个类(使用底部的上层控制器会让我的应用程序难看)?

4 个答案:

答案 0 :(得分:0)

隐藏导航栏:

[[self navigationController] setNavigationBarHidden:YES animated:YES];

隐藏标签栏:

yourViewController.hidesBottomBarWhenPushed = YES;

答案 1 :(得分:0)

您还可以使用viewController类的presentViewController函数调用另一个viewController。

[self presentViewController: myController animated:YES completion:nil];

答案 2 :(得分:0)

正如你所说,你想覆盖你当前的视图,所以不确定,但你可以使用这样的模型视图显示你的视图控制器

yourViewController *secView = [[YourViewController alloc] initWithNibName:@"YourViewController" bundle:nil];
[secView setModalPresentationStyle:UIModalPresentationPageSheet];//u can use different UIModalPresentationStyle
[secView setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self.navigationController presentViewController:secView animated:YES completion:nil];

上面一个将在现有视图控制器上显示您的视图控制器,一旦出现,您需要设置以关闭此模态视图。

答案 3 :(得分:0)

像这样呈现新类或ViewController的简单方法..

  ViewController *view = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
  [self presentViewController:view animated:YES completion:nil];