BIPActionSheet 1.0.1

BIPActionSheet 1.0.1

测试测试过的
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年7月

Ahmet Kazım Günay维护。



支持图片和文本的自定义ActionSheet,易于使用和修改。我们开发了用于我们的BIP Messenger应用程序。

iPhone演示

Anim Anim

iPad演示

Anim

使用方法

使用简单,只需将"BIPActionSheetKit.h"导入到您希望使用该库的类中。

例如,如果您希望在按钮被点击时显示action sheet

#import "BIPActionSheetKit.h"

@implementation ViewController

- (IBAction)btnTapped:(id)sender {

    BIPActionSheetItem *item = [BIPActionSheetItem itemWithTitle:@"Item1" image:[UIImage imageNamed:@"asCallIcon"] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item1 Tapped");
    }];

    BIPActionSheetItem *item2 = [BIPActionSheetItem itemWithTitle:@"Item2" image:[UIImage imageNamed:@"asCallIcon"] textColor:[UIColor blackColor] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item2 Tapped");
    }];

    BIPActionSheetItem *item3 = [BIPActionSheetItem itemWithTitle:@"Item3" image:[UIImage imageNamed:@"asCallIcon"] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item3 Tapped");
    }];

    BIPActionSheetItem *item4 = [BIPActionSheetItem itemWithTitle:@"Item4" image:[UIImage imageNamed:@"asCallIcon"] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item4 Tapped");
    }];

    BIPActionSheetItem *item5 = [BIPActionSheetItem itemWithTitle:@"Item5" image:[UIImage imageNamed:@"asCallIcon"] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item5 Tapped");
    }];

    BIPActionSheetItem *item6 = [BIPActionSheetItem itemWithTitle:@"Item6" image:[UIImage imageNamed:@"asCallIcon"] actionHandler:^(BIPActionSheet *actionSheet) {

        NSLog(@"Item6 Tapped");
    }];

    [BIPActionSheet showActionSheetWithTitle:@"This is title" items:@[item, item2, item3, item4, item5, item6] cancelButtonTitle:@"Cancel" cancelHandler:^{

        NSLog(@"Cancel Tapped");
    }];
}

@end
  • 您可以使用ActionSheet的公共属性检查action sheet是否可见
@property (nonatomic, assign, readonly, getter=isVisible) BOOL visible;
  • 您可以通过BIPActionSheet类的类方法轻松控制应用程序范围内的ActionSheet控件
+ (BOOL)isAnyActionsheetVisible;
+ (void)dismissLastActiveActionsheet;
+ (void)dismissAllActionsheets;

外观支持

可以设置ActionSheet的全局外观。

注意:如果您使用特定文本颜色初始化BIPActionSheetItem,则此库首先会监听您如何初始化项目以显示外观。

例如:您使用以下方式初始化actionSheetItem,然后此库首先选择此项textColor为蓝色,即使您为特定项目以黑色颜色初始化了外观。

BIPActionSheetItem *item2 = [BIPActionSheetItem itemWithTitle:@"Item2" image:[UIImage imageNamed:@"asCallIcon"] textColor:[UIColor blueColor] actionHandler:^(BIPActionSheet *actionSheet) {

    NSLog(@"Item2 Tapped");
}];
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.

    [[BIPActionSheetItemView appearance] setCancelButtonColor:[UIColor blueColor]];
    [[BIPActionSheetItemView appearance] setCancelButtonFont:[UIFont fontWithName:@"Helvetica-Bold" size:17]];

    [[BIPActionSheetItemView appearance] setItemFont:[UIFont fontWithName:@"Helvetica" size:17]];
    [[BIPActionSheetItemView appearance] setItemTextColor:[UIColor darkGrayColor]];

    [[BIPActionSheetItemView appearance] setTitleFont:[UIFont fontWithName:@"Helvetica" size:14]];
    [[BIPActionSheetItemView appearance] setTitleTextColor:[UIColor redColor]];

    [[BIPActionSheetItemView appearance] setImageAlignment:Left];
    [[BIPActionSheetItemView appearance] setImageHeight:30.f];
    [[BIPActionSheetItemView appearance] setImageWidth:30.f];

    return YES;
}

堆叠设计

您可以使用堆叠设计轻松管理应用程序范围内的action sheets。

例如:使用BIPActionSheetStack全局实例的以下方法很容易检查是否已经呈现了特定的action sheet

- (BOOL)containsActionSheetInStack:(BIPActionSheet *)actionsheet;

每次都可以轻松访问堆栈上的所有action sheets,下面是BIPActionSheetStack全局实例的以下属性

@property (nonatomic, strong) NSMutableArray <BIPActionSheet *> *actionSheets;

使用常量进行自定义

以下常量用于BIPActionSheet库的UI自定义,如图所示:您可以根据项目的需要更改它们。

@interface BIPActionSheetConstants : NSObject

extern CGFloat const kBIPActionSheetPaddingOffset;
extern CGFloat const kBIPActionSheetPaddingOffsetiPAD;
extern CGFloat const kBIPActionSheetBackgroundAlpha;
extern CGFloat const kBIPActionSheetShowAnimationDuration;
extern CGFloat const kBIPActionSheetHideAnimationDuration;
extern CGFloat const kBIPActionSheetRowHeight;

@end

有关更多信息,请查看演示应用程序。

安装

有两种方法可以在项目中使用BIPActionSheet

  • 使用CocoaPods
  • 通过将项目克隆到您的存储库中

Podfile

platform :ios, '8.0'
use_frameworks!
pod 'BIPActionSheet', '~> 1.0.0'

要求

此库需要iOS 7.0或更高版本的部署目标。

作者

对于任何类型的问题,您可以轻松访问

许可证

BIPActionSheet可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。