2014-09-04 80 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