iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – dismissModalViewController隐藏状态栏后面的父视图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在这里有一个非常奇怪的问题.我正在使用一个现在的模态视图控制器来在ViewController的顶部显示我的MFMailComposer ViewController,它放在导航栏中. [self presentModalViewController:emailviewController animated:YES]; 隐藏,我用… -(void) mailComposeController:(
在这里一个非常奇怪的问题.我正在使用一个现在的模态视图控制器来在ViewController的顶部显示我的MFMailComposer ViewController,它放在导航栏中.

[self presentModalViewController:emailviewController animated:YES];

隐藏,我用…

-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{

    [self dismissModalViewControllerAnimated:YES];
}

一切都正常,但是当我关闭我的MailComposer时,原始视图控制器隐藏在状态栏的后面.

我已经尝试使用setFrame方法修改视图偏移量10,但它不工作. (这是在模态视图控制器提交和解除之前和之后累了)

我试过暂时隐藏状态栏,但没有工作.

我已经尝试了self.navigationcontroller presentmodalviewcontrolle但是没有工作太

任何想法或建议将被高度赞赏

编辑:大多数人给我一个建议手动修改偏移量.
那不行.因为如果我在我的viewDidLoad / viewWillapper中执行原始viewcontroller方法,那么它将在当前模态视图控制器之前转换我的视图,而在加载模态视图控制器之后它变得正常.

>(void)viewDidAppear:(BOOL)animated {
CGRect frame = self.navigationController.view.frame;
frame.origin.y = 20;
self.navigationController.view.frame = frame;
}

解决方法

尝试将其放在ViewDidAppear中:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

最糟糕的情况是,如果在模态视图控制器被关闭之后总是发生,请在.h中声明afterFirstLaunch的布尔值,并将其放在viewDidAppear中:

if(afterFirstLaunch){
      CGRect frame = self.navigationController.view.frame;
      frame.origin.y = 20;
      self.navigationController.view.frame = frame;
}
else {
      afterFirstLaunch = true;
 }

大佬总结

以上是大佬教程为你收集整理的iphone – dismissModalViewController隐藏状态栏后面的父视图全部内容,希望文章能够帮你解决iphone – dismissModalViewController隐藏状态栏后面的父视图所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。