2016-01-31 9 views
0

Я знал, что этот вопрос может послужить основанием для понижающего голоса, но все же я действительно знал бы концепцию, которую я мог бы использовать. У меня есть UIView, который я добавил в UIWindow. Мне нужен этот вид почти на экране с несколькими экранами, а не на других, так что это лучший способ справиться с этим делом.Лучший подход для сохранения UIView через приложение, за исключением нескольких экранов?

Мысль об уведомлении и делегировании, пожалуйста, предложите.

+0

Вы можете уточнить свой вопрос? Вы добавили UIView в UIWindow - вы накладываете UIWindows? - если вы не имеете в виду, возможно, вы добавили UIView в UIViewController. Вы также говорите: «Мне нужен этот вид почти на экране», значит, вы нуждаетесь в нем на нескольких экранах, но не в другом? Если я не понял ваш вопрос, вы должны просто добавить его на каждый экран, правильно? Ваше последнее предложение смущает меня - «уведомление и делегаты»? – Mike

+0

Я добавил вид на окно, этот вид Я хочу показать на нескольких взглядах контроллера на другие места, которые я хочу скрыть. это ясно для вас? последнее отправление собирается обращаться с caese, где можно узнать, где я должен скрыть это или нет. вы поняли. – Sandy

+0

Я добавил UIview в окне в классе делегата приложения и имею глобальное свойство для доступа к нему. – Sandy

ответ

0

В iOS есть одноэлементный объект, называемый sharedApplication. Вы можете использовать его, чтобы получить ваше приложение делегата из любого места в коде следующим образом:

MyAppDelegate * дель = (MyAppDelegate *) [UIApplication sharedApplication] .delegate;

Если добавить метод делегат своего приложения, скажем, «showSharedView:(BOOL)b», то все, что вам нужно сделать, это вызвать это от метода viewWillLoad каждого из контроллеров. (Предполагая, что представление является марком делегата приложения, который, как вы говорите, вы сделали).

Например:

MyAppDelegate * дель = (MyAppDelegate *) [UIApplication sharedApplication] .delegate;
[del showSharedView: NO];