我想将数据发送到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
在我的应用程序中,我有以下配置来打开我的视图控制器:
当我写"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
我想从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) 我在使用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
我试图以编程方式从使用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
我在一个应用程序上工作,我的视图有问题[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
我有一个模态视图控制器,我从另一个视图控制器调用.在解除模态视图控制器后,我想在视图控制器上调用一个方法来呈现该模态视图.最简单的方法是什么?
我尝试在我的模态视图控制器中执行此操作:[(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
我已将另一个视图控制器添加到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
我正在使用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
我在这里遇到一个非常奇怪的问题.我有一个带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
presentmodalviewcontroller ×10
ios ×7
iphone ×4
objective-c ×3
addsubview ×1
appdelegate ×1
back-button ×1
dismiss ×1
ios8 ×1
mfmailcomposeviewcontroller ×1
modal-dialog ×1
xcode ×1
xib ×1