2014-09-04 82 views
1

嗨,大家在这里是一个问题:我有一个按钮的MapView,我想用覆盖视图来触发该按钮,该视图填充整个屏幕(导航栏旁边)。如何设计和显示UIView覆盖

有没有一种方法可以在Storyboard中设计叠加层,并将其连接到具有某种自定义segue的按钮,或者我必须以编程方式设计它,并且为动画编写代码?

谢谢!

回答

0

由于这样的事实,这种观点我想目前未在其他视图控制器我通过添加一个UIView到故事板视图控制器解决了这个重复使用,并且设置隐藏属性为YES。该按钮触发值并呈现视图。

谢谢大家的提示!

2

这是快速和肮脏的方式,使用自动布局:

UIView * view = [UIView new]; 
busyView.translatesAutoresizingMaskIntoConstraints = NO; 
[[[UIApplication sharedApplication] keyWindow] addSubview:busyView]; 
[self.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view]|" options:0 metrics: 0 views:@{@"view": view}]]; 
[self.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]|" options:0 metrics: 0 views:@{@"view": view}]]; 

这将你的主窗口上添加一个覆盖图,但要注意:

  • 窗口不办理转,所以如果你的视图包含某些东西,并且旋转设备,所有东西都会保持在同一个地方。
  • 它覆盖整个屏幕
+0

好吧,但我必须设计我的UIView像编程UIView * view = [UIView alloc] initWith Blablablabla ???我知道这听起来很懒,但如果我可以在StoryBoard中设计它可能是一个魅力和省时 – 2014-09-04 14:37:11

+0

你可以把它放在一个单独的xib文件中,并使用loadNibNamed – rebello95 2014-09-04 14:40:08

+1

@AlessandroLucarini在故事板中可以创建覆盖视图并保持隐藏,但它将始终包含在包含视图控制器的视图中。这意味着如果你在一个麻烦的控制器中,这个视图将在导航栏下展开。在故事板中,您还可以创建一个视图控制器作为覆盖层,这将覆盖整个屏幕(在大多数情况下) – Andrea 2014-09-04 14:45:42