title: “Material Components for iOS” layout: “homepage” path: /

{% contentfor benefits %}

Getting Started

An easy way to create beautiful apps with modular and customizable UI components.

  1. {: .step-list-item } ### Install CocoaPods

    CocoaPods is the easiest way to get started. If you're new to CocoaPods, check out their getting started documentation.

    To install CocoaPods, run the following commands:

    sudo gem install cocoapods
    
  2. {: .step-list-item } ### Create Podfile

    Once you've created an iOS application in Xcode you can start using Material Components for iOS.

    To initialize CocoaPods in your project, run the following commands:

    cd your-project-directory
    pod init
    
  3. {: .step-list-item } ### Edit Podfile

    Once you've initialized CocoaPods, add the Material Components for iOS Pod to your target in your Podfile:

    target "MyApp" do
      ...
      pod 'MaterialComponents'
    end
    

    Then run the command:

    pod install
    open your-project.xcworkspace
    

    Now you're ready to get started in Xcode.

  4. {: .step-list-item } ### Usage

    Now you’re ready to add a component (e.g. Buttons) to your app! Include the Material Components header for the component you're interested in to your app (detailed below) to get all of the required classes.

    Choose from Objective-C or Swift:

    Objective-C

    #import "MaterialButtons.h"
    
    @implementation ViewController
    
    - (void)viewDidLoad {
      [super viewDidLoad];
    
      MDCButton *button = [[MDCButton alloc] init];
      [button setTitle:@"Button" forState:UIControlStateNormal];
      [button sizeToFit];
      [button addTarget:self
                 action:@selector(tapped:)
       forControlEvents:UIControlEventTouchUpInside];
    
      [self.view addSubview:button];
    }
    
    - (void)tapped:(id)sender {
      NSLog(@"Button was tapped!");
    }
    
    @end
    

    Swift

    import MaterialComponents.MaterialButtons
    
    class MDCBuildTestViewController: UIViewController {
    
      override func viewDidLoad() {
        super.viewDidLoad()
    
        let button = MDCButton()
        button.setTitle("Button", for: .normal)
        button.sizeToFit()
        button.addTarget(self, action: #selector(tapped), for: .touchUpInside)
        self.view.addSubview(button)
      }
    
      func tapped(sender: UIButton?){
        print("Button was tapped!")
      }
    
    }
    
  5. {: .step-list-item } ### What's next?

{: .step-list }