开发者

how to create a sliding menu bar for buttons?

开发者 https://www.devze.com 2023-03-25 08:11 出处:网络
hi everyonei am doing a application where i will be implementing sliding of buttons in a menu.something like slider which containsmany buttons.

hi everyone i am doing a application where i will be implementing sliding of buttons in a menu.something like slider which contains many buttons.

i went through the following lin开发者_JS百科k

http://blog.sallarp.com/iphone-sliding-menu/

In the above link they have set everything in Appdelegate method...whereas in my application there r many views which will continue further..so can anyone help me how to implement the sliding menu bar for buttons?

Thank u.


.h

IBOutlet UIScrollView *scrollView;

@property ( nonatomic , retain )  IBOutlet UIScrollView *scrollView;

-(void)AppleVijayAtFacebookDotCom:(id)sender;

-(void)createMenuWithButtonSize:(CGSize)buttonSize withOffset:(CGFloat)offset noOfButtons:(int)totalNoOfButtons;

.m

@synthesize scrollView;



-(void)AppleVijayAtFacebookDotCom:(id)sender{


    NSLog(@"AppleVijayAtFacebookDotCom called");


    UIButton *button=(UIButton *)sender;


    if (button.tag == 0) {

        NSLog(@"hey have clicked first button, this is my tag : %i \n\n",button.tag);
    }
    else if (button.tag == 1) {

        NSLog(@"hey have clicked second button, this is my tag : %i \n\n",button.tag);

    }
    // ......like this

    NSLog(@"button clicked is : %iBut \n\n",button.tag);



}       



-(void)createMenuWithButtonSize:(CGSize)buttonSize withOffset:(CGFloat)offset noOfButtons:(int)totalNoOfButtons{

for (int i = 0; i < totalNoOfButtons; i++) {

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    [button addTarget:self action:@selector(AppleVijayAtFacebookDotCom:) forControlEvents:UIControlEventTouchUpInside];

        //[button1 setImage:[UIImage imageNamed:@"Button.png"] forState:UIControlStateNormal];//with image

        //OR

    [button setTitle:[NSString stringWithFormat:@"%iBut",i] forState:UIControlStateNormal];//with title

    button.frame = CGRectMake(i*(offset+buttonSize.width), 8.0, buttonSize.width, buttonSize.height);

    button.clipsToBounds = YES;

    button.showsTouchWhenHighlighted=YES;

    button.layer.cornerRadius = 10;//half of the width

    button.layer.borderColor=[UIColor redColor].CGColor;

    button.layer.backgroundColor=[UIColor blackColor].CGColor;

    button.layer.borderWidth=2.0f;

    button.tag=i;

    [self.scrollView addSubview:button];

}

self.scrollView.contentSize=CGSizeMake((buttonSize.width + offset) * totalNoOfButtons, buttonSize.height);

    //self.navigationItem.titleView=self.scrollView;//if u have navigationcontroller then enable this line



    }

Dont forget to connect the scrollView in interface builder

while creating the scrollview in IB make sure ur scrollView height is 44.which is default to navigation bar.so it will look nice.

in viewDidLoad call 

[self createMenuWithButtonSize:CGSizeMake(70.0, 30.0) withOffset:20.0f noOfButtons:30];

OUTPUT

how to create a sliding menu bar for buttons?


Basically a sliding menu like the one you refer to is made up of a UIScrollView that contains the UIButtons as subviews. Set the contentSize of the scroll view to CGSizeMake(total width of buttons, height of one button) and enableScrolling to YES.

It might be a good idea to create a view controller to control the menu. This VC could both produce the scroll view and the buttons within, and serve as target for the button actions.

0

精彩评论

暂无评论...
验证码 换一张
取 消