[英]Using AwesomeMenu with a UITabBarController tabBar
我一直在向AITabBar添加AwesomeMenu按鈕。 我的計划是讓標簽欄上方的圖標弧看起來很酷。 我玩了一點,並能夠顯示圖標。 我稱它為菜單,只是使用了我已經擁有的相同按鈕,在選項卡欄后面添加了一個AwesomeMenu(這樣圖標從后面彈出),然后隱藏了Awesome菜單。 我在選項卡欄中的按鈕上添加了一個動作,以模擬在超贊菜單上的輕擊,並顯示AwesomeMenu,然后完美顯示了按鈕。 問題是,當我嘗試點擊這些按鈕中的任何一個時,什么都沒有發生。 我認為這是一個問題,因為它們位於UITabBar上方,但是我不確定。 我在空白視圖控制器的中間添加了一個普通的AwesomeMenu,其設置與我在選項卡欄上的設置相同(除了在選項卡欄上並被另一個按鈕調用),並且可以正常工作。 當我按下按鈕時,它們起作用。 基於此,我認為按鈕顯示在UITabBar上方或者只是按鈕的工作方式是一個問題。 任何幫助將不勝感激!
這是將按鈕添加到UITabBar(非常標准)的方法:
UIImage *storyMenuItemImage = [UIImage imageNamed:@"Selector_Fill.png"];
UIImage *scaledImage = [UIImage imageWithCGImage:[storyMenuItemImage CGImage] scale:(storyMenuItemImage.scale * 2.0) orientation:UIImageOrientationUp];
UIImage *storyMenuItemImagePressed = [UIImage imageNamed:@"Selector_Fill.png"];
UIImage *starImage = [UIImage imageNamed:@"Selector_Camera_Fill"];
AwesomeMenuItem *starMenuItem1 = [[AwesomeMenuItem alloc] initWithImage:scaledImage
highlightedImage:storyMenuItemImagePressed
ContentImage:[UIImage imageNamed:@"Selector_Camera_Fill"]
highlightedContentImage:nil];
AwesomeMenuItem *starMenuItem2 = [[AwesomeMenuItem alloc] initWithImage:scaledImage
highlightedImage:storyMenuItemImagePressed
ContentImage:[UIImage imageNamed:@"Selector_Video_Fill"]
highlightedContentImage:nil];
AwesomeMenuItem *starMenuItem3 = [[AwesomeMenuItem alloc] initWithImage:scaledImage
highlightedImage:storyMenuItemImagePressed
ContentImage:[UIImage imageNamed:@"Selector_Pen"]
highlightedContentImage:nil];
AwesomeMenuItem *starMenuItem4 = [[AwesomeMenuItem alloc] initWithImage:scaledImage
highlightedImage:storyMenuItemImagePressed
ContentImage:starImage
highlightedContentImage:nil];
AwesomeMenuItem *starMenuItem5 = [[AwesomeMenuItem alloc] initWithImage:scaledImage
highlightedImage:storyMenuItemImagePressed
ContentImage:[UIImage imageNamed:@"Selector_Music_Fill"]
highlightedContentImage:nil];
// the start item, similar to "add" button of Path
AwesomeMenuItem *startItem = [[AwesomeMenuItem alloc] initWithImage:[UIImage imageNamed:@"bg-addbutton.png"]
highlightedImage:[UIImage imageNamed:@"bg-addbutton-highlighted.png"]
ContentImage:[UIImage imageNamed:@"icon-plus.png"]
highlightedContentImage:[UIImage imageNamed:@"icon-plus-highlighted.png"]];
startItem.center = CGPointMake(self.tabBarController.tabBar.center.x , 30);
//22
self.menu = [[AwesomeMenu alloc] initWithFrame:CGRectMake(0, 0, 320, 568) startItem:startItem optionMenus:[NSArray arrayWithObjects:starMenuItem1, starMenuItem2, starMenuItem3, starMenuItem4, starMenuItem5,nil]];
self.menu.startPoint = CGPointMake(160.0, 22.0);
self.menu.rotateAngle = M_PI / 180 * -60;
self.menu.menuWholeAngle = M_PI / 180 * 120;
self.menu.timeOffset = 0.036f;
self.menu.farRadius = 140.0f;
self.menu.nearRadius = 110.0f;
self.menu.endRadius = 120.0f;
self.menu.delegate = self;
self.menu.hidden = YES;
[self.tabBarController.tabBar addSubview:self.menu];
[self.tabBarController.tabBar sendSubviewToBack:self.menu];
這是我從UITabBar中的按鈕調用它的方式:
[self.menu touchesBegan:nil withEvent:nil];
您必須在Tabbar中添加一個UIButton,該UIButton會觸發以初始化一個包含所有AwesomeMenu內容的空視圖。 您可以使用- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
將觸摸事件從按鈕傳遞到令人敬畏的菜單。 當-(void)awesomeMenuDidFinishAnimationClose:(AwesomeMenu *)menu
時,請不要忘記關閉ViewController。 您還必須通過父vc的委托傳遞選定的MenuItems。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.