Приложение представляет собой вид проекта на основе представления. Я использую NSObject в представлении XIB (UIView Nib), предположим, что этот объект является верхней панелью приложения.Невозможно загрузить UIView в отдельном ViewController с NSObject
MainController UIViewController загружает начальный экран. это выглядит так,
UIViewController MainViewController Image
я хотел загрузить Вид сверху (новый, назовем его X) Предназначен отдельно в topbarview (красного цвета) в изображении выше.
Теперь у меня есть NSObject, который находится внутри «X» и связывает все события и имеет полный контроль над X, его одноэлементным объектом.
в классе NSObject У меня есть способ вернуть экземпляр объекта self и экземпляр 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 («Х»), который должен прийти в topbarview главного контроллера вида (красного цвета сегмента на изображении выше).
я написал метод в главном контроллере представления, как:
-(void)SetHomeScreen
{
self.topView = [[TopBarObject GetTopBarObject] ReturnTopBarView];
}
я призываю -(void)SetHomeScreen
в моем appdelegate.applicationdidfinishlaunching, как [viewcontroller SetHomeScreen]
Это на самом деле вызывает соответствующие методы в NSObject (TopBarObject класса), но я не вижу, что представление обновлено в (mainviewcontroller.topbarview). Это главный вопрос сейчас.
У меня есть пользовательский верхний бар и пользовательская нижняя панель с изображениями и значками. Поэтому я выбрал этот способ проектирования. Я не уверен, что это лучший способ, я просто ищу оптимальный дизайн системы, чтобы сделать эту работу эффективной. Если вы считаете, что есть какой-то другой способ, который намного лучше, чем это, пожалуйста, поделитесь им со мной.
я, ты прав. Я заметил сейчас. Большое спасибо. Но это не решает проблему? пожалуйста, исправьте меня, если я ошибаюсь. – Futur
Я думаю, что это должно решить проблему. Вы пишете «return topBarObject.topBarView»; в методе «ReturnTopBarView», но topBarObject не инициируется вообще. Кстати, почему вы возвращаете «topBarObject.topBarView», а не «topBarView» напрямую? - это не статический метод ... –
ya thats вопрос ставит некоторые мысли в мой разум ... но вы думаете, что это правильная реализация в целом .. im, чтобы этот вопрос поднялся теперь после вашего вопроса? не могли бы вы помочь мне предложить правильную структуру .. – Futur