标签: presentmodalviewcontroller

在关闭控制器时将值传递给父控制器

我想将数据发送到parentviewcontroller,但以下代码崩溃.给我解决方案

Post *vc;
vc.abc =@"Comment Conttroller";
[self.parentViewController dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

这里,Post是我调用presentViewController:animated:completion方法的控制器名称.

iphone objective-c uiviewcontroller dismiss presentmodalviewcontroller

4
推荐指数
1
解决办法
5313
查看次数

IOS:打开和关闭一些视图控制器

在我的应用程序中,我有以下配置来打开我的视图控制器:

当我写"pushViewController"时,我使用导航控制器,当我写"present"时,我使用了一个presentModalViewController.

firtsView -> (pushviewcontroller) -> secondOneView -> (present) -> thirdOneView -> (present) -> fourthView

firstView -> (pushviewcontroller) -> secondTwoView -> (present) -> thirdTwoView 
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序来组织我的视图控制器的方案.然后我的问题是:

什么是从返回的路上"fourthView"(也就是,当我去从后"fourthView"),以"secondTwoView"

有办法吗?

xcode uiviewcontroller uinavigationcontroller presentmodalviewcontroller ios

4
推荐指数
1
解决办法
1万
查看次数

从Xib呈现模态视图控制器

我想从xib中显示一个模态对话框.显示我的窗口的代码是:

self.vcSettings = [[ViewControllerSettings alloc] initWithNibName:@"ViewControllerSettings" bundle:[NSBundle mainBundle]];  

[self presentModalViewController:self.vcSettings animated:YES];
Run Code Online (Sandbox Code Playgroud)

当它运行时,我得到一个空白屏幕,而不是我的ViewControllerSettings.xib内部.我想我会以某种方式错误地显示视图.任何建议表示赞赏.

编辑:

我认为这应该是

[self.navigationController presentModalViewController:self.vcSettings animated:YES];
Run Code Online (Sandbox Code Playgroud)

但由于某种原因self.navigationController,没有.

编辑:

Self是我在AppDelegate中实例化的UIViewController,如下所示:

UIViewController* viewMain = [[ViewController_iPhone alloc]     initWithNibName:@"ViewController_iPhone" bundle:nil];

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = viewMain;
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

modal-dialog xib presentmodalviewcontroller ios

4
推荐指数
1
解决办法
9481
查看次数

在iOS5中关闭dismissModalViewControllerAnimated时MFMailComposeViewController崩溃

我在使用conMail时使用MFMailComposeViewController来提供Mail功能,但是发送邮件后或当我想取消邮件时,它将崩溃。

下面是我的代码:

(IBAction)FnForPlutoSupportEmailButtonPressed:(id)sender {
{
    if ([MFMailComposeViewController canSendMail])
    {
        MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];

        mailer.mailComposeDelegate = self;

        [mailer setSubject:@"Need help from Pluto support team"];

        NSArray *toRecipients = [NSArray arrayWithObjects:@"support@myplu.to",nil];
        [mailer setToRecipients:toRecipients];


        NSString *emailBody = @"";

        [mailer setMessageBody:emailBody isHTML:NO];

        //mailer.modalPresentationStyle = UIModalPresentationPageSheet;

        [self presentModalViewController:mailer animated:YES];

    }
    else
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure"
                                                        message:@"Your device doesn't support the composer sheet"
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles: nil];
        [alert show];
    }
} }

    (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
// Notifies users about errors associated …
Run Code Online (Sandbox Code Playgroud)

iphone presentmodalviewcontroller ios mfmailcomposeviewcontroller

4
推荐指数
1
解决办法
5224
查看次数

以编程方式创建和呈现模态视图控制器

我试图以编程方式从使用storyboard启动的视图控制器声明模态视图控制器.我希望看到一个空白视图,但我只看到第一个控制器的webview.

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *fullURL = @"http://google.com";
    NSURL *url = [NSURL URLWithString:fullURL];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    _viewWeb.delegate=self;
    [_viewWeb loadRequest:requestObj];

    modalViewController=[[UIViewController alloc] init];
    [self presentViewController:modalViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller modalviewcontroller presentmodalviewcontroller ios

4
推荐指数
1
解决办法
1万
查看次数

viewDidDisappear没有被调用

我在一个应用程序上工作,我的视图有问题[Will/Did]消失方法在返回应用程序时没有被触发.

案例是,我有UINavigationController,它上面有两个视图控制器.当用户按下主页按钮时,用户退出.当他稍后返回应用程序时,以下(简化)代码在我的AppDelegate中运行:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [(UINavigationController *)self.window.rootViewController popToRootViewControllerAnimated:NO];
    [self.window.rootViewController presentModalViewController:loginViewController animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

当我弹出导航控制器堆栈上的视图控制器时,我希望view[will|did]disappear可以调用这些方法.然而,事实并非如此,因为当iOS要解雇这些方法时,它们(显然)不再出现​​在屏幕上.似乎模态视图控制器已经接管了.

如果我不提供模态视图控制器,则按view[will|did]disappear预期调用方法.

我的问题是:如果我想view[will|did]disappear调用这些方法,那么我该如何构建我的代码呢?有没有更好的地方来呈现我的模态loginViewController?

编辑:

为了更清楚地显示我的问题,我在这里创建了一个非常简单的测试项目:https://github.com/JohanVase/ModalViewCauseMissingViewDisappearCalls.请尝试几次按照应用程序中的说明操作,看看我没有在viewWillDisappear方法中发布我的"资源".

objective-c uinavigationcontroller presentmodalviewcontroller ios appdelegate

4
推荐指数
1
解决办法
5498
查看次数

如何从模态视图控制器调用视图控制器上的方法

我有一个模态视图控制器,我从另一个视图控制器调用.在解除模态视图控制器后,我想在视图控制器上调用一个方法来呈现该模态视图.最简单的方法是什么?

我尝试在我的模态视图控制器中执行此操作:[(ParentViewController*)self.presentingViewController foo];在调用之前[self dismissViewControllerAnimated:YES completion:nil];.

Xcode给我一个错误,说foo不被识别,即使它是在控制器中定义和原型化的.如果您的解决方案涉及块,我真的不理解它们,所以如果您想添加更多细节,我将不胜感激.谢谢.

ParentViewController.h

@interface ParentViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
{
    NewAssignmentViewController *newAssignmentViewController;
    TableViewDataSource *data;
}

-(void)foo;

@end
Run Code Online (Sandbox Code Playgroud)

modalviewcontroller presentmodalviewcontroller ios objective-c-blocks

4
推荐指数
1
解决办法
1万
查看次数

当addsview由addsubView呈现时,UIButton不工作

我已将另一个视图控制器添加到viewcontroller视图,

addsubview工作正常,但下一个视图中的按钮操作无效.

崩溃时出错[ModelViewController performSelector:withObject:withObject:]:消息发送到解除分配的实例0xa81d960

在View1:当前视图控制器UsersViewController类中

-(IBAction)openModelView:(id)sender
{
   ModelViewController *modelView= [self.storyboard instantiateViewControllerWithIdentifier:@"ModelViewController"];

    [self.view addSubview:modelView.view];
}
Run Code Online (Sandbox Code Playgroud)

在View 2 ModelViewController类中

-(IBAction)dismissModelView:(id)sender
{
    NSLog(@"ddddddde");
    //[self.view removeFromSuperview];
    [self.view removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)

使用presentViewConroller [self presentViewController:modelView animated:NO completion:nil]*工作得很好*,

我需要在背景中显示第一个视图,部分透明

iphone objective-c uiviewcontroller addsubview presentmodalviewcontroller

4
推荐指数
1
解决办法
1811
查看次数

如何在iOS 8中关闭两个UIViewControllers?

我正在使用Objective C处理iPhone应用程序.因为我需要同时关闭两个UIViewControllers,所以我使用下面的代码:

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

此代码在iOS6和iOS7中运行良好,但在iOS8中无效.我已经使用断点检查,我的ViewController viewDidLoad和viewWillAppear方法正在调用,但我的视图根本没有加载,所以作为输出,我得到空白的白色屏幕.任何人都可以帮助我,对于iOS8,我该如何解决这个问题,我是否需要使用presentViewController而不是presentViewController?

iphone presentmodalviewcontroller presentviewcontroller ios8

4
推荐指数
1
解决办法
3823
查看次数

关闭模态视图控制器后,后退按钮的动画被破坏

我在这里遇到一个非常奇怪的问题.我有一个带Tabbar控制器和4个选项卡的应用程序,每个选项卡都有一个连接到Viewcontroller的导航控制器.一切都按预期工作,但现在我已经为几个视图添加了一个按钮,它会调用一个模态视图控制器来向上滑动并显示一些内容.在这个Modal VC中,还有另一个隐藏模态视图的按钮.隐藏模态视图后,如果我点击导航栏中的后退按钮,视图不会返回动画,只是在没有动画的情况下立即显示上一个视图,而导航栏确实是动画的.但是,当我使用标签栏切换到另一个视图并立即切换回来时,它会突然再次开始工作.

我正在使用没有Storyboard的iOS SDK 6,因为我几年前在iOS 3.2上开发了这个应用程序

这就是我展示Modal VC的方式:

-(void)reportIssue{
    ReportIssueViewController *rivc = [[ReportIssueViewController alloc] initWithNibName:@"ReportIssueViewController" bundle:[NSBundle mainBundle]];
    [self.navigationController presentModalViewController:rivc animated:TRUE];
    [rivc release];
}
Run Code Online (Sandbox Code Playgroud)

这就是我隐藏它的方式:

- (IBAction)cancelIssue:(id)sender {
    [self dismissViewControllerAnimated:TRUE completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

有没有人有这样一个奇怪的问题?关于如何摆脱这种行为,我会很高兴.

提前致谢.

back-button uinavigationcontroller presentmodalviewcontroller ios

3
推荐指数
1
解决办法
1113
查看次数