该应用程序是基于视图的项目类型。我在 View XIB(UIView Nib)中使用 NSObject,假设该对象是应用程序的顶部栏。
MainController UIViewController 加载初始屏幕。它看起来像这样,
UIViewController MainViewController 图片
我想加载一个顶视图(新的,称之为 X)在上图中的顶部视图(红色)中单独设计。
现在,我有 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("X"),它必须出现在主视图控制器的 topbarview(上图中的红色段)中。
我在主视图控制器中编写了一个方法:
-(void)SetHomeScreen
{
self.topView = [[TopBarObject GetTopBarObject] ReturnTopBarView];
}
-(void)SetHomeScreen
我在我的 appdelegate.applicationdidfinishlaunching 中调用[viewcontroller SetHomeScreen]
这实际上调用了 NSObject(TopBarObject 类)中的相应方法,但我没有看到在(mainviewcontroller.topbarview)中更新了视图。这是现在的主要问题。
我有一个带有图像和图标的自定义顶栏和自定义底栏。所以我选择了这种设计方式。我不确定这是否是最好的方法,我只是在寻找一个最佳的系统设计来使这项工作高效。如果您认为还有其他方法比这要好得多,请与我分享。