我想在self.view之上添加一个名为anotherView的视图。但我不希望anotherView成为子视图。这可能吗?
我希望另一个视图位于页面顶部,并相应地向下推送self.view的内容(无需更改y或高度值。
我有以下内容并且不起作用:
UIView *anotherView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, 80)];
anotherView.backgroundColor = [UIColor yellowColor];
[self.view insertSubview:anotherView aboveSubview:self.view];
该框仅位于现有视图的顶部。
答案 0 :(得分:0)
任何可见视图都是其他视图或窗口的子视图。
但你可以添加另一个视图
self.view.superview
甚至
self.view.window
或创建新的UIWindow对象并将子视图添加到此窗口
答案 1 :(得分:0)
您是否尝试过以模态方式呈现另一个视图?通过这种方式,您可以使其显示在作为完全新视图控制器的所有内容之上。例如:
[self presentModalViewController:anotherView animated:YES];
当然,假设anotherView是UIViewController的子类,并且有自己的View属性。因为如果anotherView只是UIView的子类,那么你不能在不是当前View Controller的子视图的情况下呈现它。
编辑: 哦,是的,你可以将nil传递给完成块:
[self presentViewController:anotherView animated:YES completion:nil];