У меня есть приложение, которое представляет собой большую презентацию продукта компании.
У меня есть некоторые дополнительные функции, которые должны быть доступны в моем приложении.
Предполагаемая функциональность этой панели инструментов заключается в том, что она будет располагаться в виде небольшой тонкой вкладки в нижней части экрана. При нажатии на вкладку меню будет расширяться вверх (т. Е. Анимировать его свойство frame.y), позволяя вам нажимать любую из кнопок, содержащихся в меню.
Трудность, с которой я столкнулся, состоит в том, что в настоящее время приложение охватывает несколько контроллеров представления, и, поскольку мне нужно, чтобы это было доступно повсеместно, в целях недопущения дублирования кода, было бы целесообразно также сделать этот ViewController, чтобы я просто загружал в другие мои контроллеры представления, но это, судя по всему, не рекомендуется Apple.
Как создать функциональность этого меню без дублирования кода? Я попробовал несколько вещей, но не могу отобразить меню в моем представлении.
Ниже я покажу, что у меня есть на данный момент.
Код, который будет установлен на любом контроллере вида:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
ToolboxMenu *toolboxMenu = [[ToolboxMenu alloc] init];
[self.view addSubview:toolboxMenu.view];
}
Код, который создает панель инструментов:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Creating View");
self.view = [[UIView alloc] initWithFrame:CGRectMake(0,0,88,209)];
self.view.backgroundColor = [UIColor clearColor];
UIImageView *toolboxImage = [[UIImageView alloc] initWithImage:[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"popup_toolbox" ofType:@"jpg"]]];
toolboxImage.frame = self.view.frame;
[self.view addSubview:toolboxImage];
}
В приведенном выше коде NSLog срабатывает при инициализации меню, но я не вижу меню.