在ios 7中呈现和消除模态视图

时间:2013-10-20 07:23:00

标签: ios uiwebview ios7 modalviewcontroller

我有一个视图控制器,上面有一个按钮。该按钮是隐私政策。当它被点击时,它会转到正确的IBAction,我创建了隐私控制器。

 - IBAction ...
{
    PrivacyPolicyViewController *privacy = [[PrivacyPolicyViewController alloc] init];
    .....
}

我想创建隐私控制器的模态视图,该控制器具有向上动画的UIWebView和用于在ios 7中关闭它的后退按钮。我在网上看到的所有方式都是ios 6并且似乎已被弃用。

4 个答案:

答案 0 :(得分:47)

使用类似的东西:

// assuming your controller has identifier "privacy" in the Storyboard
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
PrivacyPolicyViewController *privacy = (PrivacyPolicyViewController*)[storyboard instantiateViewControllerWithIdentifier:@"privacy"];

// present
[self presentViewController:privacy animated:YES completion:nil];

// dismiss
[self dismissViewControllerAnimated:YES completion:nil];

答案 1 :(得分:9)

[self presentmodalviewcontroller:vc];已被弃用

您可以尝试

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

它会对你有用..

答案 2 :(得分:6)

如果您使用的是Storyboard,您也可以使用segue来呈现模态视图控制器,并以编程方式执行。

  1. 在您的故事板中,按住Ctrl键并从起始视图下方栏中的文件所有者图标拖动到您想要模态显示的视图,然后选择“模态”。
  2. 单击segue图标,然后在“属性”检查器中,为其指定一个标识符,例如“toNewView”。
  3. 在您的起始视图控制器的.m文件中,使用此代码执行模式segue:[self performSegueWithIdentifier:@"toNewView" sender:self];
  4. 这是一个很好的干净方法,因为您不必导入.h文件来实例化presentViewController方法的第二个控制器对象。

    要解雇它,只需使用unwind segue

答案 3 :(得分:0)

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
taskQueeDetails *privacy = (taskQueeDetails*)[storyboard instantiateViewControllerWithIdentifier:@"taskQueeDetails"];

// Present the modal
[self presentViewController:privacy animated:YES completion:nil];

使用代码并更改字符串instantiateViewControllerWithIdentifier:@“taskQueeDetails”]; 它会正常工作