[英]UIView disappears after modalViewController is removed from superview
在我的应用程序中,我有一个tabBarController和一个navigationController。 我的视图控制器之一是TableViewController,在navigationBar下,我向视图添加了uiView作为子视图,如下所示:
rectangleInfo = [[UIView alloc] initWithFrame:CGRectMake(0,0,[[UIScreen mainScreen] applicationFrame].size.width,26)]; rectangleInfo.autoresizingMask = (UIViewAutoresizingFlexibleWidth); rectangleInfo.backgroundColor = [UIColor darkGrayColor]; [self.view addSubview: rectangleInfo];
当我单击tableView中的单元格时,我按下了UIViewController:
[feedViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[[self navigationController] presentModalViewController:feedViewController动画:是];
在我从tableViewNavigationController弹出模态视图几次后,rectangleInfo UIView消失了。
我像这样弹出我的模态视图:
[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[self setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self dismissModalViewControllerAnimated:YES];
任何想法为什么我从超级视图中删除模式视图后,tableViewController的子视图(rectangleInfo)消失了?
先感谢您。
我很好奇您要对您的rectangleInfo视图做什么? 根据它的大小,您似乎在模仿状态栏。 为什么? 您可以根据需要隐藏状态栏。
您可以尝试的另一件事是在Interface Builder中直观地创建UIView。 实际上,不要将其添加到主视图中,而是在XIB中将其创建为具有适当大小的单独UIView,以此类推。然后在Xcode中为其创建出口并连接它。 接下来,在加载视图控制器时,将其添加为代码中的子视图。 看看是否有区别。 这尤其奇怪,因为您说它仅在弹出几次后才会消失。 如果以非模式方式推送和弹出,是否会遇到相同的问题,例如:
[[self navigationController] pushViewController:feedViewController animated:YES];
[[self navigationController] popViewControllerAnimated:YES];
我通过正确实现用于创建和释放子视图的viewDidLoad和viewDidUnload方法解决了该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.