我正在将此菜单添加到我正在开发的应用程序中:http: //mobiledevelopertips.com/open-source/ios-open-source-animated-menu.html
我对Objective C比较陌生(只研究了不到一个月),我不完全确定如何执行以下操作:
1)当我点击按钮打开菜单时,我想在整个屏幕上添加一个灰色叠加层。我一直在寻找解决方案,但似乎很多人推荐 DSActivityView 这对我不起作用……我不需要那个加载气泡。我想我可以下载源代码并删除气泡,但这可能需要更多的努力而不是值得。
我认为我可以实例化一个 imageView,将其放在 0,0 并将其扩展到屏幕的边界,以透明的灰色 PNG 文件为来源......就像
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"transparent_gray.png"]];
imageView.frame= CGRectMake (0,0,screenWidth,screenHeight);
[viewController addSubview:imageView];
但是,这种方法可能行不通(我猜它不会覆盖标签栏和状态栏等导航控制器)。此外,我不确定如何从 AwesomeMenu 中访问 viewController。我假设我必须将实例化 AwesomeMenu 的 viewController 的引用传递给 AwesomeMenu 的功能之一,以便能够将 imageView 部署到 viewController 中?
2)我想编写一个在打开菜单动画停止时触发的委托,这样我就可以在覆盖的屏幕上写入文本。有没有一种超级简单的方法可以做到这一点,还是我将不得不猜测一些计时器启动/回调并让回调将文本写到我的屏幕上?哦 - 我以前从未写过委托,但我认为当我希望它们在动画结束时触发时它会变得有点复杂。