добавить представление от делегата ко всем другим контроллерам view

Я делаю приложение, в котором я хочу показать колебания на панели навигации. Я создал EAGLEView из appdelegate .

@interface AppDelegate : NSObject 
{
    EAGLView* eaglView;
}
@property (nonatomic, retain)   EAGLView* eaglView;

Я вызвал все необходимые методы из делегатов приложений AurioTouch , чтобы показать формы сигналов при получении звуковых волн.   он работает хорошо, когда я попробовал его для FirstViewController . Но когда я попытался показать его на SecondViewController . он падает.   поэтому теперь я хочу добавить это представление, т.е. eagleView ко всем другим viewControllers . Как это сделать?    Я добавил его как subview в другие виды, например

appDel = (AppDelegate *)[[UIApplication sharedApplication]delegate];
appDel.eaglView.frame = CGRectMake(0, 10, 320, 100);
appDel.eaglView.backgroundColor = [UIColor redColor];
[self.view addSubview:appDel.eaglView];

В viewdidload .  любые идеи для этого?

1
nl ja de
Вы можете добавить его в контроллер навигации.
добавлено автор shoughton123, источник
попробуйте этот nav1.visibleViewController
добавлено автор shoughton123, источник
Вам нужно будет вызывать это каждый раз, когда пользователь меняет контроллер, который все еще не идеален, я думаю
добавлено автор shoughton123, источник
ok, попробовал этот [[[_nav1.viewControllers objectAtIndex: 0] view] addSubview: eaglView]; но все еще не показывает
добавлено автор bhavin, источник

1 ответы

Попробуй это

[nav1.navigationBar addSubview:YouView];

Если это не сработает, вы можете подклассифицировать UINavigationController и добавить его в метод initWithRootViewController:

    UINavigationBar *navBar = [[UINavigationBar alloc] init];
    [navBar addSubview:YourView];

    [self setValue:navBar forKeyPath:@"navigationBar"];

Надеюсь это поможет

Сэм

0
добавлено
Ах, в этом случае вам, вероятно, придется использовать nav1.visibleViewController и добавить представление на вызов любого нового контроллера представлений. Я бы очень хотел, чтобы вы читали об использовании медиаторов в IOS, это делает такие вещи намного проще :)
добавлено автор shoughton123, источник
Медиатор - это тип шаблона проектирования. «Pro ​​Objective-C Design Patterns для IOS» от Apress очень хорош для этих видов шаблонов проектирования в iOS :)
добавлено автор shoughton123, источник
Спасибо, но я скрываю панель навигации на виду контроллеров. self.navigationController.navigationBarHidden = YES; любой другой способ заставить его работать?
добавлено автор bhavin, источник
хорошо спасибо, я проверю посредников.
добавлено автор bhavin, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.