Ios 打开Modal时,视图将消失
我有一个基本的故事板,其中包含一个子视图和一些标签来显示信息。此视图隐藏在屏幕外,当用户播放/暂停音乐时,会弹出或关闭。此视图从屏幕底部开始,并相应地设置动画 屏幕上的另一个按钮打开一个模式窗口。打开此模式时,带有标签的子视图将在屏幕外返回其初始状态。我的主视图控制器中的通知中心已成功检测到此模式何时关闭,但如果正在播放音乐,它将调用相应的函数以再次显示子视图。但是,由于某些原因,视图将不会设置动画,即使我在没有动画的情况下直接设置值。但按“暂停/播放”后,它将按预期再次出现 我假设我必须使用一些适当的回调函数,以便只有在视图准备好重画或其他什么之后才调用动画?在下面找到打开my modal的方法以及关闭时调用的方法Ios 打开Modal时,视图将消失,ios,objective-c,animation,uiview,modal-dialog,Ios,Objective C,Animation,Uiview,Modal Dialog,我有一个基本的故事板,其中包含一个子视图和一些标签来显示信息。此视图隐藏在屏幕外,当用户播放/暂停音乐时,会弹出或关闭。此视图从屏幕底部开始,并相应地设置动画 屏幕上的另一个按钮打开一个模式窗口。打开此模式时,带有标签的子视图将在屏幕外返回其初始状态。我的主视图控制器中的通知中心已成功检测到此模式何时关闭,但如果正在播放音乐,它将调用相应的函数以再次显示子视图。但是,由于某些原因,视图将不会设置动画,即使我在没有动画的情况下直接设置值。但按“暂停/播放”后,它将按预期再次出现 我假设我必须使用一
// open modal from a .xib
- (IBAction)openModal:(id)sender {
ifmSettingsViewController* svc = [[ifmSettingsViewController alloc] initWithNibName:@"Settings" bundle:nil];
[svc setModalPresentationStyle:UIModalPresentationFullScreen];
[svc setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didDismissSecondViewController)
name:@"SecondViewControllerDismissed"
object:nil];
[self presentViewController:svc animated:TRUE completion:nil];
}
// called when modal window dismissed
-(void)didDismissSecondViewController {
NSLog(@"Dismissed SecondViewController");
[self viewDidAppear:TRUE];
// calculate appropriate distance from screen bottom
float yer = [[UIScreen mainScreen] bounds].size.height - 101.0;
self.infoview.center = yer;
}
在模式中,它按如下方式关闭自身:
- (IBAction)backHit:(id)sender {
[self dismissViewControllerAnimated:TRUE completion:^{
[[NSNotificationCenter defaultCenter] postNotificationName:@"SecondViewControllerDismissed"
object:nil
userInfo:nil
];
return;
}];
}