Приложение представляет собой тип проекта на основе представления.Я использую NSObject в View XIB (UIView Nib), предположим, что этот объект является верхней панелью приложения.
MainController UIViewController загружает начальный экран.это выглядит так,
UIViewController Изображение MainViewController
я хотел загрузить вид сверху (новый, назовите его X) Разработанный отдельно в верхнем представлении (красный цвет)на изображении выше.
Теперь у меня есть NSObject, который находится внутри "X" и связывает все события и имеет полный контроль над X, его одноэлементным объектом.
в NSObject Class iесть метод для возврата экземпляра собственного объекта и экземпляра uiview ("X"), которым он управляет.
Методы:
-(UIView*)ReturnTopBarView
{
NSLog(@"called 2");
return topBarObject.topBarView;
}
//Provides the top bar instance to all the view controllers.
//Singleton Implementation.
+ (id)GetTopBarObject
{
if(topBarObject == nil)
{
NSLog(@"called 1");
return [[TopBarObject alloc] init];
}
return topBarObject;
}
topbarview - это полностью разработанный topbarview ("X "), который должен входить в верхнюю панель контроллера основного вида (сегмент красного цвета на изображении выше).
я написал метод в контроллере основного вида как:
-(void)SetHomeScreen
{
self.topView = [[TopBarObject GetTopBarObject] ReturnTopBarView];
}
iвызвать -(void)SetHomeScreen
в моем appdelegate.applicationdidfinishlaunching как [viewcontroller SetHomeScreen]
Это фактически вызывает соответствующие методы в NSObject (класс TopBarObject), но я не вижу обновленного представления в (mainviewcontroller.topbarview).Теперь это главная проблема.
У меня есть верхняя панель и нижняя панель с изображениями и значками.Поэтому я выбрал этот способ проектирования.Я не уверен, является ли это наилучшим способом, я просто ищу наиболее оптимальный дизайн системы, чтобы сделать эту работу эффективной.Если вы думаете, что есть другой способ, который намного лучше, чем этот, пожалуйста, поделитесь им со мной.