【发布时间】:2011-09-20 20:49:01
【问题描述】:
我有一个应用程序,它几乎是公司产品的大型演示。
我有一些额外的功能需要在我的应用程序中访问。
此工具栏的预期功能是它将作为屏幕底部的一个小而微妙的选项卡。当您点击选项卡时,菜单将向上展开(即动画它的 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,但我看不到菜单。
【问题讨论】:
标签: objective-c menu uiviewcontroller