gpt4 book ai didi

iphone - dismissModalViewController 将父 View 隐藏在状态栏后面

转载 作者:技术小花猫 更新时间:2023-10-29 10:27:49 24 4
gpt4 key购买 nike

我这里有一个非常奇怪的问题。我正在使用当前模态视图 Controller 在导航栏中放置的 ViewController 顶部显示我的 MFMailComposer ViewController。

[self presentModalViewController:emailviewController animated:YES];

为了隐藏,我使用...

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

[self dismissModalViewControllerAnimated:YES];
}

一切正常,但是当我关闭我的 MailComposer 时,原始 View Controller 隐藏在状态栏后面。

我尝试使用 setFrame 方法将 View 偏移量修改 10,但没有成功。 (在呈现和关闭模态视图 Controller 之前和之后这很累)

我试过暂时隐藏状态栏,但没有成功。

我试过 self.navigationcontroller presentmodalviewcontrolle 但那也没有用...

任何想法或建议将不胜感激

After dismissmodalviewcontroller called

已编辑:大多数人都给我建议手动修改偏移量。那是行不通的。因为如果我在原始 viewcontroller 方法的 viewDidLoad/viewWillapper 中这样做,那么它将我的 View 移动到当前模态视图 Controller 之前,而在我加载模态视图 Controller 之后它变得正常。

  • (void) viewDidAppear: (BOOL) 动画{CGRect frame = self.navigationController.view.frame;frame.origin.y = 20;self.navigationController.view.frame = frame;

Changing offset results in this

最佳答案

尝试将其放入 ViewDidAppear 中:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

最坏的情况,如果它总是只在模态视图 Controller 被关闭后发生,请在 .h 中为 afterFirstLaunch 声明一个 bool 值并将其放入 viewDidAppear:

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

关于iphone - dismissModalViewController 将父 View 隐藏在状态栏后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11130176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com