在 iOS 7 SDK 中关闭 UIAlertview 后 UIView 没有响应
Posted
技术标签:
【中文标题】在 iOS 7 SDK 中关闭 UIAlertview 后 UIView 没有响应【英文标题】:UIView not responding after dismissing UIAlertview in iOS 7 SDK 【发布时间】:2014-02-04 11:34:17 【问题描述】:我在其他视图控制器中添加了一个视图控制器作为子视图,并且在该子视图控制器中我正在呈现 UIAlertview。关闭该警报视图后,视图对触摸无响应。当我最小化应用程序并再次启动它时,它会再次激活。
任何想法..
这是我正在使用的代码, 首先,我在 uiscrollview 内的主视图控制器中添加了子视图控制器作为子视图。
SharedViewController *sharedVC = [[SharedViewController alloc] initWithNibName:@"SharedViewController" bundle:nil];
[sharedVC.view setFrame:CGRectMake(2048, 0, 1024, 545)];
sharedVC.delagate = self;
[mainScrollView addSubview:sharedVC.view];
在 SharedViewController 中,我有一个按钮,我可以点击它来执行此操作,
[[[UIAlertView alloc] initWithTitle:@"MyApp" message:@"No File selected. Please select some of them and try again." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil] show];
在显示 alertview 并点击 OK 按钮后,除非我最小化应用程序并再次打开,否则视图将变得无响应。
【问题讨论】:
我认为您需要为此添加更多详细信息。也许显示你的一些代码。没有人为此发布任何答案,因为他们没有足够的细节来制定答案。 你还提到你正在添加一个视图控制器作为另一个视图控制器的子视图。你在做正确的 UIViewController 遏制吗? 您的视图的 X 坐标超出范围 (x = 2048) 它在滚动视图中,所以 x 坐标边界没有问题 【参考方案1】:我最近也遇到了这个问题。希望您的问题得到解决。我的回答可能对其他人有所帮助。不要在警报显示代码之后添加任何视图或呈现任何视图或删除任何视图甚至推送。以下是我的代码,我也遇到了同样的问题:
UIAlertView *errorLert = [[UIAlertView alloc] initWithTitle:@"Erro" message:@"Operation could not be performed at this time, please try again later" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[errorLert show];
[customView removeFromSuperView];
然后我刚刚删除了最后一行并在警报之前移动,它对我有用。
【讨论】:
【参考方案2】:子视图控制器的工作完成后,您必须添加以下行..
我不确定,但你可以得到帮助..
[sharedVC removeFromSuperview];
【讨论】:
【参考方案3】:if (sharedVC.view.superview==Nil)
CGRect frame = mainScrollView.frame;
frame.origin.x = frame.size.width;
frame.origin.y = 0;
sharedVC.view.frame = frame;
[mainScrollView addSubview:sharedVC.view];
【讨论】:
以上是关于在 iOS 7 SDK 中关闭 UIAlertview 后 UIView 没有响应的主要内容,如果未能解决你的问题,请参考以下文章
在 ios 7 和 ios9+ 中关闭 ViewController 的异常行为
在 iOS 7 或更高版本中关闭应用程序时,iOS 可以执行操作吗?