Skip to content

dianchechihanx6d/MSBlockButton

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSBlockButton

platform GitHub license CocoaPods GitHub stars

An UIButton Category replace SEL with Block.

Features

  • block syntax

Installation

Cocoapods(Recommended)

  1. Add pod 'MSBlockButton' to your Podfile.
  2. Run pod install

Manual

  1. Add all files under MSBlockButton to your project

Requirements

  • iOS 5.0 and greater
  • ARC/MRC

How To Use

Objective-C

        
    #import "MSBlockButton.h"
    
    CGFloat   width  = [UIScreen mainScreen].bounds.size.width;
    UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake((width-100)*0.5, (width-100)*0.5, 100, 100);
    [self.view addSubview:button];
    
    button.backgroundColor = [[UIColor orangeColor] colorWithAlphaComponent:0.8];
    [button setTitle:@"Blocks" forState:UIControlStateNormal];

    [button handleTouchUpInsideEventWithBlock:^(UIButton *sender) {
        NSLog(@"%s",__func__);

    }];
          

Swift

You can use MSBlockButton in Swift projects too. To do this, you must:

  1. Copy the relevant .m and .h files from the MSBlockButton src folder into your project
  2. If prompted to create a "bridging header", you should do so. If not prompted and if you don't already have a bridging header, add one.

For more information on bridging headers, see Swift and Objective-C in the Same Project.

  1. In your bridging header, add a line that says:
    #import "MSBlockButton.h"

If you do the above, you can then write Swift code that uses MSBlockButton. For example, in Swift 3.0 :

     
     let btn = UIButton(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: 100, height: 100)))
     btn.center = view.center
     btn.backgroundColor = UIColor.purple
     btn.setTitle("SwiftVC", for: UIControlState.normal)
     view.addSubview(btn)
     
     btn.handleTouchUpInsideEvent { (btn:UIButton?) in
         print("\("SwiftViewController") \(#function)")
         
     }

License

MSBlockButton is available under the MIT license. See the LICENSE file for more info.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 81.5%
  • Objective-C 18.5%