2014-09-04 5 views
1

Привет, ребята, вот вопрос: у меня есть MapView с кнопкой, и я бы хотел запустить эту кнопку с наложением, которое заполняет весь экран (рядом с панелью навигации).Как создать и отобразить наложение UIView

Есть ли способ, которым я могу проектировать накладку в раскадровке и подключать ее к кнопке с помощью какого-то пользовательского 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, это могло бы быть очарованием и временным временем –

+0

. Вы можете поместить его в отдельный файл xib и использовать loadNibNamed – rebello95

+1

@AlessandroLucarini в раскадровке, вы можете создать оверлейный вид и сохранить его скрытым, но это всегда будет содержаться в представлении контроллера просмотра. Это означает, что если вы находитесь в контроллере nag, это представление будет находиться под навигационной панелью. В раскадровке вы также можете создать контроллер вида, который будет использоваться в качестве наложения, и это будет охватывать весь экран (в большинстве случаев) – Andrea

Смежные вопросы