众所周知,UITableViewCell很容易初始化:
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
但是如何创建自己的表视图样式定义" UITableViewCellStyleCustom"?
答案 0 :(得分:0)
有几个解决方案:
在这两种方法中,您必须继承UITableViewCell
的子类并添加您想要的行为。您还需要在Storyboard或Nib上指定您希望该单元格具有您刚刚创建的子类的类型。网上有很多关于如何做的教程。
答案 1 :(得分:0)
首先,您需要子类UITableViewCell
来获取自定义单元格。
在代码中初始化时(为什么?),只需在指定的初始值设定项中使用UITableViewCellStyleDefault
作为style
参数。我建议通过故事板或界面生成器初始化单元格。
答案 2 :(得分:0)
正如其他答案已经指出的那样,有很多关于如何创建自己的单元格样式的教程。
但是,请记住,创建表格视图单元格的首选方法是重用tableView:cellForRowAtIndexPath:
中的一个,如下所示:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myIdentifier" forIndexPath:indexPath];
修改强>
如果要实现自己的initWithStyle:reuseIdentifier:
版本,显然可以创建自己的单元格样式,例如:
typedef NS_ENUM(NSInteger, MyTableViewCellStyle){
MyTableViewCellStyleFile,
MyTableViewCellStyleFolder
};
然后你可以像这样定义一个自定义的init方法:
-(instancetype)initWithMyStyle:(MyTableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;
除此之外,UITableViewCellStyleDefault
是UIKit中枚举UITableViewCellStyle
的一部分。所以它基本上只是一个整数值,传递一个不同于定义的值将无法在默认的init方法中工作。