QMUIStaticTableViewCellData

@interface QMUIStaticTableViewCellData : NSObject

一个 cellData 对象用于存储 static tableView(例如设置界面那种列表) 列表里的一行 cell 的基本信息,包括这个 cell 的 class、text、detailText、accessoryView 等。

See

QMUIStaticTableViewCellDataSource
  • 当前 cellData 的标志,一般同个 tableView 里的每个 cellData 都会拥有不相同的 identifier

    Declaration

    Objective-C

    @property (nonatomic) NSInteger identifier;

    Swift

    var identifier: Int { get set }
  • 当前 cellData 所对应的 indexPath

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSIndexPath *indexPath;

    Swift

    var indexPath: IndexPath! { get }
  • cell 要使用的 class,默认为 QMUITableViewCell,若要改为自定义 class,必须是 QMUITableViewCell 的子类

    Declaration

    Objective-C

    @property (nonatomic) Class cellClass;

    Swift

    var cellClass: AnyClass! { get set }
  • init cell 时要使用的 style

    Declaration

    Objective-C

    @property (nonatomic) UITableViewCellStyle style;

    Swift

    var style: UITableViewCell.CellStyle { get set }
  • cell 的高度,默认为 TableViewCellNormalHeight

    Declaration

    Objective-C

    @property (nonatomic) CGFloat height;

    Swift

    var height: CGFloat { get set }
  • cell 左边要显示的图片,将会被设置到 cell.imageView.image

    Declaration

    Objective-C

    @property (nonatomic, strong) UIImage *image;

    Swift

    var image: UIImage! { get set }
  • cell 的文字,将会被设置到 cell.textLabel.text

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *text;

    Swift

    var text: String! { get set }
  • cell 的详细文字,将会被设置到 cell.detailTextLabel.text,所以要求 cellData.style 的值必须是带 detailTextLabel 类型的 style

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *detailText;

    Swift

    var detailText: String! { get set }
  • 会自动在 tableView:cellForRowAtIndexPath: 里调用,这样就不需要实现 cellForRow

    Declaration

    Objective-C

    @property (nonatomic, copy) void (^) (UITableView *, __kindof QMUITableViewCell *, QMUIStaticTableViewCellData *) cellForRowBlock;

    Swift

    var cellForRowBlock: ((UITableView?, QMUITableViewCell?, QMUIStaticTableViewCellData?) -> Void)! { get set }
  • 当 cell 的点击事件被触发时,要由哪个对象来接收

    Declaration

    Objective-C

    @property (nonatomic) id didSelectTarget;

    Swift

    unowned(unsafe) var didSelectTarget: AnyObject! { get set }
  • 当 cell 的点击事件被触发时,要向 didSelectTarget 指针发送什么消息以响应事件

    Warning

    这个 selector 接收一个参数,这个参数也即当前的 QMUIStaticTableViewCellData 对象

    Declaration

    Objective-C

    @property (nonatomic) SEL didSelectAction;

    Swift

    var didSelectAction: Selector! { get set }
  • cell 右边的 accessoryView 的类型

    Declaration

    Objective-C

    @property (nonatomic) QMUIStaticTableViewCellAccessoryType accessoryType;

    Swift

    var accessoryType: QMUIStaticTableViewCellAccessoryType { get set }
  • 配合 accessoryType 使用,不同的 accessoryType 需要配合不同 class 的 accessoryValueObject 使用。例如 QMUIStaticTableViewCellAccessoryTypeSwitch 要求传 @YES 或 @NO 用于控制 UISwitch.on 属性。

    Warning

    目前也仅支持与 QMUIStaticTableViewCellAccessoryTypeSwitch 搭配使用。

    Declaration

    Objective-C

    @property (nonatomic, strong) NSObject *accessoryValueObject;

    Swift

    var accessoryValueObject: NSObject! { get set }
  • 当 accessoryType 是某些带 UIControl 的控件时,可通过这两个属性来为 accessoryView 添加操作事件。 目前支持的类型包括:QMUIStaticTableViewCellAccessoryTypeDetailDisclosureButton、QMUIStaticTableViewCellAccessoryTypeDetailButton、QMUIStaticTableViewCellAccessoryTypeSwitch

    Warning

    这个 selector 接收一个参数,与 didSelectAction 一样,这个参数一般情况下也是当前的 QMUIStaticTableViewCellData 对象,仅在 Switch 时会传 UISwitch 控件的实例

    Declaration

    Objective-C

    @property (nonatomic) id accessoryTarget;

    Swift

    unowned(unsafe) var accessoryTarget: AnyObject! { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, assign) SEL accessoryAction

    Swift

    var accessoryAction: Selector! { get set }
  • Undocumented

    Declaration

    Objective-C

    + (instancetype)staticTableViewCellDataWithIdentifier:(NSInteger)identifier
                                                    image:(UIImage *)image
                                                     text:(NSString *)text
                                               detailText:(NSString *)detailText
                                          didSelectTarget:(id)didSelectTarget
                                          didSelectAction:(SEL)didSelectAction
                                            accessoryType:(QMUIStaticTableViewCellAccessoryType)accessoryType;

    Swift

    convenience init!(identifier: Int, image: UIImage!, text: String!, detailText: String!, didSelectTarget: Any!, didSelectAction: Selector!, accessoryType: QMUIStaticTableViewCellAccessoryType)
  • Undocumented

    Declaration

    Objective-C

    + (instancetype)staticTableViewCellDataWithIdentifier:(NSInteger)identifier
                                                cellClass:(Class)cellClass
                                                    style:(UITableViewCellStyle)style
                                                   height:(CGFloat)height
                                                    image:(UIImage *)image
                                                     text:(NSString *)text
                                               detailText:(NSString *)detailText
                                          didSelectTarget:(id)didSelectTarget
                                          didSelectAction:(SEL)didSelectAction
                                            accessoryType:(QMUIStaticTableViewCellAccessoryType)accessoryType
                                     accessoryValueObject:(NSObject *)accessoryValueObject
                                          accessoryTarget:(id)accessoryTarget
                                          accessoryAction:(SEL)accessoryAction;

    Swift

    convenience init!(identifier: Int, cellClass: AnyClass!, style: UITableViewCell.CellStyle, height: CGFloat, image: UIImage!, text: String!, detailText: String!, didSelectTarget: Any!, didSelectAction: Selector!, accessoryType: QMUIStaticTableViewCellAccessoryType, accessoryValueObject: NSObject!, accessoryTarget: Any!, accessoryAction: Selector!)
  • Undocumented

    Declaration

    Objective-C

    + (UITableViewCellAccessoryType)tableViewCellAccessoryTypeWithStaticAccessoryType:(QMUIStaticTableViewCellAccessoryType)type;

    Swift

    class func tableViewCellAccessoryType(withStaticAccessoryType type: QMUIStaticTableViewCellAccessoryType) -> UITableViewCell.AccessoryType