0

我尝试在我的代码中使用 AwesomeMenu,这里是: https ://github.com/levey/AwesomeMenu

它的用法很简单,在 github 页面中列出。我照原样跟着它。但是菜单没有出现在 UI 中。我正在使用 iOS 5.0 和 Xcode 4.2,以及 iOS 模拟器进行测试。

这就是我所做的:

在我的 ViewController.h

...
#import "AwesomeMenu.h"
#import "AwesomeMenuItem.h"
...
// I included the AwesomeMenuDelegate here 
@interface com_FirstViewController : UIViewController <UITableViewDelegate,      UITableViewDataSource,AwesomeMenuDelegate> {
...
}
@property (nonatomic, retain) IBOutlet AwesomeMenu *awesomeMenu;
...

在 Storyboard 中,我创建了一个 UIView 实例,将其定位并调整其大小,将其类更改为类型“AwesomeMenu”,并将其“引用插座”链接到 IBOutlet 属性“awesomeMenu”。

在 ViewController.m 中

...
@synthesize awesomeMenu;
...
AwesomeMenuItem *starMenuItem1;
AwesomeMenuItem *starMenuItem2;
...
...

// This method seems to be getting called, as I see the log messages
-(void) initializeSpringMenu {
    NSLog(@"InitializeSpringMenu: entered");
    UIImage *storyMenuItemImage = [UIImage imageNamed:@"GooglePlus.png"];
    UIImage *storyMenuItemImagePressed = [UIImage imageNamed:@"GooglePlus.png"];
    UIImage *starImage = [UIImage imageNamed:@"Mail-icon.png"];

    starMenuItem1 = [[AwesomeMenuItem alloc] 
                                    initWithImage:storyMenuItemImage
                                    highlightedImage:storyMenuItemImagePressed 
                                    ContentImage:starImage 
                                    highlightedContentImage:nil];
    starMenuItem2 = [[AwesomeMenuItem alloc] 
                                    initWithImage:storyMenuItemImage
                                    highlightedImage:storyMenuItemImagePressed 
                                    ContentImage:starImage 
                                    highlightedContentImage:nil];

    // Now, setup the menu and the options
    awesomeMenu = [[AwesomeMenu alloc] 
                initWithFrame:self.view.bounds 
                menus:[NSArray arrayWithObjects:starMenuItem1, starMenuItem2, nil]];
    awesomeMenu.delegate = self;
    NSLog(@"initializeSpringMenu: Done initializing it");
}


- (void)viewDidLoad {
    ...
    [self initializeSpringMenu];
    ...
}

我认为这很简单,我看不出这里缺少什么。执行 AwesomeMenu 的“初始化”时是否有界限?有人可以帮忙吗?当我运行应用程序时,视图在 UI 中显示为空白。

4

1 回答 1

1

让,

您需要添加AwesomeMenu到 ViewController 的视图中。修改结尾initializeSpringMenu如下:

    .......

    // Now, setup the menu and the options
    awesomeMenu = [[AwesomeMenu alloc] 
                  initWithFrame:self.view.bounds 
                  menus:[NSArray arrayWithObjects:starMenuItem1, starMenuItem2, nil]];
    awesomeMenu.delegate = self;

    [self.view addSubView:awesomeMenu] // <-- THIS ADDS THE AWESOME VIEW TO YOUR VIEWCONTROLLERS VIEW
    NSLog(@"initializeSpringMenu: Done initializing it");
}

这应该就是全部了。

于 2012-05-11T12:57:17.697 回答