Is there anyway to add same scroll menubar at the navigation bar?

后端 未结 1 1509
南笙
南笙 2021-01-29 08:54

I have already posted my this problem another time but i have not got my answer perfectly.Here i am going to explain my problem another time, it is very important for me so at a

相关标签:
1条回答
  • 2021-01-29 09:08

    Ha ha ha .....it was so much fun when i solved it.whatever i solved this problem in different way, i did not use scrollview button controller for controller just, in every controller i have made function to where buttons within a scrollview create and on action of button i have just change the selected index of the tabbar controller.

    in -(void)viewDidload i wrote this code

         UIView *scrollViewBackgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
    scrollViewBackgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"topmenu_bg.png"]];
    
    menuScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(5,0,320,40)];
    menuScrollView.showsHorizontalScrollIndicator = FALSE;
    menuScrollView.showsVerticalScrollIndicator = FALSE;
    menuScrollView.bounces = TRUE;
    [scrollViewBackgroundView addSubview:menuScrollView];
    [self.view addSubview:scrollViewBackgroundView];
    
    [self createMenuWithButtonSize:CGSizeMake(92.0, 30.0) withOffset:5.0f noOfButtons:7];   
    

    here is the button create and action

    -(void)mybuttons:(id)sender{    
    NSLog(@"mybuttons called");
    UIButton *button=(UIButton *)sender;
    NSLog(@"button clicked is : %iBut \n\n",button.tag);
    int m = button.tag;
    for(int j=0;j<8;j++){
        if(button.tag == m){
            self.tabBarController.selectedIndex = m;
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateHighlighted]; //sets the background Image]            
        }
        if(button.tag != m){
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
        }
    }
    }       
    
     -(void)createMenuWithButtonSize:(CGSize)buttonSize withOffset:(CGFloat)offset noOfButtons:(int)totalNoOfButtons{
    
    NSLog(@"inserting into the function for menu bar button creation"); 
    for (int i = 0; i < totalNoOfButtons; i++) {
    
        UIButton *button = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
        [button addTarget:self action:@selector(mybuttons:) forControlEvents:UIControlEventTouchUpInside];
        (button).titleLabel.font =  [UIFont fontWithName:@"Arial" size:12];
        if(i==0){
            [button setTitle:[NSString stringWithFormat:@"Dashboard"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateNormal]; //sets the background Image]
        }
        if(i==1){
            [button setTitle:[NSString stringWithFormat:@"Order"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        if(i==2){
            [button setTitle:[NSString stringWithFormat:@"Product"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        if(i==3){
            [button setTitle:[NSString stringWithFormat:@"Customers"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        if(i==4){
            [button setTitle:[NSString stringWithFormat:@"Content"] forState:UIControlStateNormal];//with title
        }
        if(i==5){
            [button setTitle:[NSString stringWithFormat:@"Site Analysis"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        if(i==6){
            [button setTitle:[NSString stringWithFormat:@"Store Settings"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        if(i==7){
            [button setTitle:[NSString stringWithFormat:@"CMS Settings"] forState:UIControlStateNormal];//with title
            [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]
    
        }
        button.frame = CGRectMake(i*(offset+buttonSize.width), 6.0, buttonSize.width, buttonSize.height);
        button.clipsToBounds = YES;
        button.showsTouchWhenHighlighted=YES;
        button.layer.cornerRadius = 5;//half of the width
        button.layer.borderColor=[UIColor clearColor].CGColor;
        button.layer.borderWidth=0.0f;
        button.tag=i;
        [menuScrollView addSubview:button];
    }
    menuScrollView.contentSize=CGSizeMake((buttonSize.width + offset) * totalNoOfButtons, buttonSize.height);
    [self.view addSubview:menuScrollView];
    
    }
    
    0 讨论(0)
提交回复
热议问题