HeshamMegid/HMSegmentedControl

A highly customizable drop-in replacement for UISegmentedControl.

Objective-C

4,067

214 commits

updated Mar 26, 2024

See the code

README

HMSegmentedControl

Pod Version Carthage compatible Pod Platform Pod License

A highly customizable drop-in replacement for UISegmentedControl, used by more than 22,000 apps, including TikTok, PayPal, Imgur and Bleacher Report.





Features

  • 📸 Supports both text and images
  • ↕️ Multiple sizing and selection styles
  • 📜 Horizontal scrolling for an infinite number of segments
  • ⚙️ Advanced title styling with text attributes for font, color, kerning, shadow, etc
  • 🖥 Compatible with both Swift and Objective-C
  • 📱 Updated for Xcode 11, iOS 13 and Swift 5. Supports all the way back to iOS 7!

Installation

pod 'HMSegmentedControl'

Installation via Carthage is also supported..

Usage

The code below will create a segmented control with the default looks:

let segmentedControl = HMSegmentedControl(sectionTitles: [
    "Trending",
    "News",
    "Library"
])

segmentedControl.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
segmentedControl.addTarget(self, action: #selector(segmentedControlChangedValue(segmentedControl:)), for: .valueChanged)
view.addSubview(segmentedControl)

Included is a demo project showing how to fully customize HMSegmentedControl.

Possible Styles









Apps Using HMSegmentedControl

If you are using HMSegmentedControl in your app or know of an app that uses it, please add it to this list.

Need Help?

If you need help with HMSegmentedControl, or with iOS/Swift development in general, check out swiftmentor.io

License

HMSegmentedControl is licensed under the terms of the MIT License. Please see the LICENSE file for full details.

If this code was helpful, I would love to hear from you.

@HeshamMegid
http://hesh.am

hmsegmentedcontrol
ios
objective-c

HeshamMegid/HMSegmentedControl

A highly customizable drop-in replacement for UISegmentedControl.

Objective-C

4,067

214 commits

updated Mar 26, 2024

See the code

README

HMSegmentedControl

Pod Version Carthage compatible Pod Platform Pod License

A highly customizable drop-in replacement for UISegmentedControl, used by more than 22,000 apps, including TikTok, PayPal, Imgur and Bleacher Report.





Features

  • 📸 Supports both text and images
  • ↕️ Multiple sizing and selection styles
  • 📜 Horizontal scrolling for an infinite number of segments
  • ⚙️ Advanced title styling with text attributes for font, color, kerning, shadow, etc
  • 🖥 Compatible with both Swift and Objective-C
  • 📱 Updated for Xcode 11, iOS 13 and Swift 5. Supports all the way back to iOS 7!

Installation

pod 'HMSegmentedControl'

Installation via Carthage is also supported..

Usage

The code below will create a segmented control with the default looks:

let segmentedControl = HMSegmentedControl(sectionTitles: [
    "Trending",
    "News",
    "Library"
])

segmentedControl.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
segmentedControl.addTarget(self, action: #selector(segmentedControlChangedValue(segmentedControl:)), for: .valueChanged)
view.addSubview(segmentedControl)

Included is a demo project showing how to fully customize HMSegmentedControl.

Possible Styles









Apps Using HMSegmentedControl

If you are using HMSegmentedControl in your app or know of an app that uses it, please add it to this list.

Need Help?

If you need help with HMSegmentedControl, or with iOS/Swift development in general, check out swiftmentor.io

License

HMSegmentedControl is licensed under the terms of the MIT License. Please see the LICENSE file for full details.

If this code was helpful, I would love to hear from you.

@HeshamMegid
http://hesh.am

hmsegmentedcontrol
ios
objective-c

Project health

Overall

3.2/10

Maintained

0/10

Code review

5/10
OpenSSF Scorecard

Significant stargazers

Yagiz Nizipli

2,353 followers · starred Jul 2020

Leo Jiang

15 followers · starred Jun 2015

Wenbin Fang

319 followers · starred Oct 2015

Morten Kjaer

10 followers · starred Jan 2016