TBActionSheet 是一個小型程式庫,可讓您使用可在 iOS 應用程式中使用的漂亮且完全可自訂的操作表來取代 Apple 不可自訂的UIActionSheet
。預設樣式為iOS9/10,您可以製作自己的樣式。享受!
以下是一些展示 TBActionSheet 強大個人化的圖片。您可以動態變更 UI:
順便說一句, TBActionSheet
還支援自訂動畫!
若要執行範例項目,請複製儲存庫並執行 MTDemo 目標。
CocoaPods 是 Cocoa 專案的依賴管理器。您可以使用以下命令安裝它:
$ gem install cocoapods
若要使用 CocoaPods 將 TBActionSheet 整合到 Xcode 專案中,請在Podfile
中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'MyApp' do
pod 'TBActionSheet'
end
您需要將“MyApp”替換為您的專案名稱。
然後,執行以下命令:
$ pod install
Carthage 是一個去中心化的依賴管理器,它可以建立您的依賴項並為您提供二進位框架。
您可以使用以下指令透過 Homebrew 安裝 Carthage:
$ brew update
$ brew install carthage
要使用 Carthage 將 TBActionSheet 整合到 Xcode 專案中,請在Cartfile
中指定它:
github "yulingtianxia/TBActionSheet"
執行carthage update
來建立框架並將建置的TBActionSheetKit.framework
拖曳到您的 Xcode 專案中。
只需將“來源”文檔資料夾拖曳到您的專案中即可。
您可以參考TBAlertControllerDemo專案中的「ViewController.m」。
為了讓TBActionSheet看起來像微信風格,你可以設定TBActionShet
或其UIAppearance
的這些屬性,如下所示:
sheetWidth = MIN(kScreenWidth, kScreenHeight);
backgroundTransparentEnabled = NO;
rectCornerRadius = 0;
基本用法與UIActionSheet
相同。您只需將UIActionSheet
替換為TBActionSheet
即可。如果您想自訂操作表,只需配置一些屬性即可。
GitHub wiki 可以幫助您掌握進階用法。
還有一個TBActionSheet
的範例專案。
此儲存庫還包括TBAlertController
,它統一了UIAlertController
、 UIAlertView
和UIActionSheet
。 TBAlertController
將在 iOS 8.2 及更高版本上使用UIAlertController
。相反,它將使用UIAlertView
或UIActionSheet
。
TBAlertController
的 API 用法與UIAlertController
類似。我還提供TBAlertAction
而不是UIAlertAction
。
有一個例子:
TBAlertController *controller = [TBAlertController alertControllerWithTitle:@"TBAlertController" message:@"AlertStyle" preferredStyle:TBAlertControllerStyleAlert];
TBAlertAction *clickme = [TBAlertAction actionWithTitle:@"点我" style: TBAlertActionStyleDefault handler:^(TBAlertAction * _Nonnull action) {
NSLog(@"%@",action.title);
}];
TBAlertAction *cancel = [TBAlertAction actionWithTitle:@"取消" style: TBAlertActionStyleCancel handler:^(TBAlertAction * _Nonnull action) {
NSLog(@"%@",action.title);
}];
[controller addAction:clickme];
[controller addAction:cancel];
[self presentViewController:controller animated:YES completion:nil];
有關TBAlertController
的更多信息,請訪問我的部落格的這篇文章。
yulingtianxia, [email protected]
TBActionSheet 在 MIT 許可下可用。有關詳細信息,請參閱許可證文件。