RDDetailedActionController
动作表的详细单元格项。它具有图标、标题和副标题。类似于 Facebook 的动作菜单。类似于 Facebook 的动作菜单。
预览
以下是只有标题、标题加图标和标题加图标和副标题的动作表的示例。
安装
带有源代码
下载仓库,然后将 RDDetailedActionController 目录 添加到您的项目中。
然后导入您需要使用库的地方的头文件
Objective-C
对于Objective-C,由于库是用Swift构建的,我们需要导入switch-to-objective-c桥接头。
#import "RDDetailedActionController-Swift.h"
就这样。可以去做了。
Swift
对于Swift,你只需什么都不做。控制器应立即可用。
使用CocoaPods
CocoaPods 是Objective-C和Swift的依赖管理器,它自动简化了在项目中使用第三方库的过程。要使用CocoaPods安装,请按照CocoaPods上的“开始使用”部分进行操作。
Podfile
platform :ios, '8.0'
use_frameworks!
pod 'RDDetailedActionController'
然后在需要使用库的地方导入框架(由于这个库是在Swift中,导入swift-to-objc桥接头)
Objective-C
#import <RDDetailedActionController/RDDetailedActionController-Swift.h>
// OR
@import RDDetailedActionController;
如果还没有做,别忘了将Pod项目的Swift编译器设置为Swift 4。
Swift
import RDDetailedActionController
使用方法
初始化
您可以使用以下两种方法之一进行初始化
Objective-C
- (nonnull instancetype)initWithTitle:(NSString * _Nullable)title
subtitle:(NSString * _Nullable)subtitle;
- (nonnull instancetype)initWithTitle:(NSString * _Nullable)title
subtitle:(NSString * _Nullable)subtitle
font:(UIFont * _Nullable)font
titleColor:(UIColor * _Nullable)titleColor;
Swift
public init(title: String?, subtitle: String?)
public init(title: String?, subtitle: String?, font: UIFont?, titleColor: UIColor?)
第一种方法是使用动作表标题的默认字体和颜色。这是默认用法,以确保外观和感觉的一致性。
第二种方法是提供动作表标题的字体和颜色。如果只想特定于此动作表指定字体和颜色,应使用此方法。
或者,您可以直接使用默认的初始化方法,然后逐个设置四个属性。
按钮
要添加动作按钮,您可以调用以下任一方法
Objective-C
- (void)addActionWithTitle:(NSString * _Nonnull)title
subtitle:(NSString * _Nullable)subtitle
icon:(UIImage * _Nullable)icon
action:(returnType (^)(RDDetailedActionView * _Nonnull))action;
- (void)addActionWithTitle:(NSString * _Nonnull)title
subtitle:(NSString * _Nullable)subtitle
icon:(UIImage * _Nullable)icon
titleColor:(UIColor * _Nullable)titleColor
subtitleColor:(UIColor * _Nullable)subtitleColor
action:(returnType (^)(RDDetailedActionView * _Nonnull))action;
- (void)addActionWithTitle:(RDDetailedActionView * _Nonnull)actionView;
Swift
public func addAction(title: String, subtitle: String?, icon: UIImage?, action: ((RDDetailedActionView)->())?)
public func addAction(title: String, subtitle: String?, icon: UIImage?, titleColor: UIColor?, subtitleColor: UIColor?, action: ((RDDetailedActionView)->())?)
public func addAction(action: RDDetailedActionView)
显示/隐藏
您可以通过调用这些方法来显示和隐藏动作表单
Objective-C
[detailedActionController show];
[detailedActionController hide];
Swift
detailedActionController.show()
detailedActionController.hide()
附加设置
当您使用第一种初始化方法时,动作表单使用标题的默认字体和颜色。我们可以自定义这些值,以便在整个应用程序中都有自定义字体和颜色。
RDDetailedActionController.defaultTitleFont = [UIFont fontWithName:@"HelveticaNeue" size:14];
RDDetailedActionController.defaultTitleColor = [UIColor blueColor];
RDDetailedActionController.defaultTitleFont = UIFont(name: "HelveticaNeue", size: 14)!
RDDetailedActionController.defaultTitleColor = .blue
动作按钮也是如此。我们可以设置标题和副标题的默认颜色。
RDDetailedActionView.defaultTitleColor = [UIColor darkGrayColor];
RDDetailedActionView.defaultSubtitleColor = [UIColor grayColor];
RDDetailedActionView.defaultTitleColor = .darkGray
RDDetailedActionView.defaultSubtitleColor = .gray
更多
了解更多详情,请尝试Xcode的DemoSwift项目或DemoObjC项目,并查看RDDetailedActionController.swift。
许可证
RDDetailedActionController 在 MIT 许可下发布。有关详细信息,请参阅许可证。