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 }
-
+staticTableViewCellDataWithIdentifier:
image: text: detailText: didSelectTarget: didSelectAction: accessoryType: 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)
-
+staticTableViewCellDataWithIdentifier:
cellClass: style: height: image: text: detailText: didSelectTarget: didSelectAction: accessoryType: accessoryValueObject: accessoryTarget: accessoryAction: 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