我想在其他视图的顶部显示UIView,无论当前显示什么视图。所以我在自定义类中创建了以下与任何视图无关的方法:
v0.12.7
调用方法时不显示视图。但是,如果我旋转设备会显示,因此屏幕方向会改变。我想我应该以某种方式重新加载视图,但此时此刻我被卡住了。你能帮我吗?
答案 0 :(得分:2)
谢谢你,dtrotzjr,好问题。问题是该方法是从后台线程调用的。这是解决方案:
dispatch_async(dispatch_get_main_queue(), ^{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(100,100, 100, 100)];
[redView setBackgroundColor:[UIColor redColor]];
[[appDelegate window] addSubview:redView];
});
很抱歉打扰。
答案 1 :(得分:0)
您可以创建一个AlertViewController并在任何视图控制器上显示它,您甚至可以使此AlertViewController透明。
self.parentVC = someVC;/*this should be the VC over which you want to present the alert VC */
self.modalPresentationStyle = UIModalPresentationCustom;
[self setTransitioningDelegate:someDelegate];
dispatch_async(dispatch_get_main_queue(), ^{
[self.parentVC presentViewController:self
animated:YES
completion:^{
}];
});