TBActionSheet Save

A Custom&Powerful Action Sheet For iOS. 一个 ActionSheet 满足所有样式!超高自由度的可定制!

Project README


CI Status Version Carthage compatible License Platform CocoaPods CocoaPods Twitter Follow


TBActionSheet is a small library that allows you to substitute Apple's uncustomizable UIActionSheet, with a beautiful and totally customizable actionsheet that you can use in your iOS app. The default style is iOS9/10, you can make your own style. Enjoy!

Here are some pictures showing TBActionSheet's powerful individuation. You can change UI dynamically:

BTW, TBActionSheet also supports CUSTOM ANIMATION!

🌟 Feature

  • Title
  • Description message
  • Insert a custom view at anywhere
  • Custom animation.
  • Customizations: fonts, colors, dimensions, corners & more
  • Closure when a button or background is pressed
  • Similar implementation to UIActionSheet
  • Add button using block syntax
  • Scroll the whole action sheet.
  • Blur Effect under iOS7
  • Autorotation under iOS8
  • CocoaPods
  • Carthage

📚 Article

🔮 Example

To run the example project, clone the repo and run MTDemo target.

💰 Requirement

  • iOS 7.0+ (iOS 8.0+ full features supported)
  • Xcode 10.1+

📲 Installation


CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate TBActionSheet into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'MyApp' do
	pod 'TBActionSheet'

You need replace "MyApp" with your project's name.

Then, run the following command:

$ pod install


Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate TBActionSheet into your Xcode project using Carthage, specify it in your Cartfile:

github "yulingtianxia/TBActionSheet"

Run carthage update to build the framework and drag the built TBActionSheetKit.framework into your Xcode project.


Just drag the "Source" document folder into your project.

🐒 Usage


You can refer to 'ViewController.m' in the TBAlertControllerDemo project.The base usage is same as 'UIActionSheet'.

To let TBActionSheet looks like WeChat style, you can set these properties of TBActionShet or it's UIAppearance like this :

sheetWidth = MIN(kScreenWidth, kScreenHeight);
backgroundTransparentEnabled = NO;
rectCornerRadius = 0;

More than what you want

The base usage is same to UIActionSheet. You can just replace UIActionSheet with TBActionSheet. If you want to customize your action sheet, just configure some properties.

GitHub wiki can help you master advanced usage.

There is also an example project for TBActionSheet.


This repo also include TBAlertController, which unifies UIAlertController, UIAlertView, and UIActionSheet. TBAlertController will use UIAlertController on iOS 8.2 and later. On the contrary, it will use UIAlertView or UIActionSheet.

The API Usage of TBAlertController is similar to UIAlertController. I also provide TBAlertAction instead of UIAlertAction.

There is an example:

TBAlertController *controller = [TBAlertController alertControllerWithTitle:@"TBAlertController" message:@"AlertStyle" preferredStyle:TBAlertControllerStyleAlert];
TBAlertAction *clickme = [TBAlertAction actionWithTitle:@"点我" style: TBAlertActionStyleDefault handler:^(TBAlertAction * _Nonnull action) {
TBAlertAction *cancel = [TBAlertAction actionWithTitle:@"取消" style: TBAlertActionStyleCancel handler:^(TBAlertAction * _Nonnull action) {
[controller addAction:clickme];
[controller addAction:cancel];
[self presentViewController:controller animated:YES completion:nil];

For more infomation about TBAlertController, please visit this post of my blog.

❤️ Contributed

  • If you need help or you'd like to ask a general question, open an issue.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

👨🏻‍💻 Author

yulingtianxia, [email protected]

👮🏻 License

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

Open Source Agenda is not affiliated with "TBActionSheet" Project. README Source: yulingtianxia/TBActionSheet
Open Issues
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating