Skip to content

MrBiscuit/BCCircularMenu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

BCCircularMenu

BCCircularMenu

This is a simple, adaptive circular menu that spreads out on touch and activates upon release with toggling animation for cocoa touch. You can easily arrange them however you want.

Features


  • Automatically generate the number of buttons needs to be displayed based on its parameter
  • Entirely customizable
  • Autoformat the spacing

Installation


Simply grab the file BCCircularMenu/BCCircularMenu/BCCircularMenuView and put it in your project.

Usage


    1. In your ViewController, inherit from BCCircularMenuDelegate, make sure to import projectName-swift.h beforehand if your using objective-C

Swift

     class ViewController: UIViewController,BCCircularMenuDelegate

Objective-C

     @interface ViewController ()<BCCircularMenuDelegate>
    1. Make some buttons the way you normally would

Swift

    let button1 = UIButton(type: .Custom)
    button1.setTitle("b1", forState: .Normal)
    button1.setImage(UIImage(named: "b1image"), forState: .Normal)
    button1.backgroundColor = UIColor.redColor()
    let button2 = UIButton(type: .Custom)
    button2.setTitle("b2", forState: .Normal)
    button1.setImage(UIImage(named: "b2image"), forState: .Normal)
    button2.backgroundColor = UIColor.yellowColor()

Objective-C

    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
    [button1 setTitle:@"b1" forState:UIControlStateNormal];
    [button1 setImage:[UIImage imageNamed:@"b1image.jpg"] forState:UIControlStateNormal];
    button1.backgroundColor = [UIColor yellowColor];
    UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
    [button2 setTitle:@"b2" forState:UIControlStateNormal];
    [button2 setImage:[UIImage imageNamed:@"b2image.jpg"] forState:UIControlStateNormal];
    button2.backgroundColor = [UIColor blueColor];
    1. Create a circularMenu with youre desired params, set the delegate, and add it to view

Swift

    let circularMenu = BCCircularMenu(buttons: [button1,button2], 
    distanceFromCenter: 25.0, buttonSize: 34.0, frame: self.view.frame)
    circularMenu.delegate = self
    self.view.addSubview(circularMenu)

Objective-C

     BCCircularMenu * circularMenu = [[BCCircularMenu alloc] initWithButtons:\
     @[button1,button2] distanceFromCenter:37 buttonSize:42 frame:self.view.frame];
     circularMenu.delegate = self;
     [self.view addSubview:circularMenu];
    1. Implement the method and you're done

Swift

    func activatedButton(number: Int) {
        print("button number: \(number) is activated")
    }

OBjective-C

   -(void)activatedButton:(NSInteger)number{
       NSLog(@"button number:%ld is activated",(long)number);
   }

Parameters & Initializers

Name Type description
size doble size of each button
buttons array where all buttons are stored
distance double distance from the touch point to the center of each button
spreadTime float how long it takes for button spearding animation
triggerTime float the minimum time required for a long press event to perform a valid trigger
invalidTriggerDistance CGFloat the minimum length required to invalidate a trigger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages