我正在做一份报纸申请。
我希望 tableview 的第一个单元格包含 2 个不同大小的视图,并且从第 2 个单元格开始,他们希望每个单元格中有 3 个相同大小的视图以及每个单元格视图的操作
我正在做一份报纸申请。
我希望 tableview 的第一个单元格包含 2 个不同大小的视图,并且从第 2 个单元格开始,他们希望每个单元格中有 3 个相同大小的视图以及每个单元格视图的操作
只需在 NIB 文件中设计 UITableViewCell 并创建相关的 .h 和 .m 文件,假设:
MyCell.h
MyCell.m
MyCell.xib
在 MyCell.xib 中放置您想要的所有子视图,并将主 Cell 对象的类设置为MyCell
(而不是标准UITableViewCell
)。
然后可以IBOutlet
在代码中设置一些s,链接到XIB中的子视图。您也可以IBAction
在自定义视图类中放置一些 s,尽管这是不好的做法,并且您应该真正将逻辑放在控制器中。MyCell.m 文件应该用于初始化逻辑和动画。
最后,在您的 TableViewController 中将所有内容挂钩:
#import "MyCell.h"
#define k_CELL_ID @"k_CELL_ID"
#define CELL_HEIGHT 80.0f
@implementation MyTableViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *theTableView = (UITableView*)self.view;
UINib *cellNib = [UINib nibWithNibName:@"MyCell" bundle:nil];
[theTableView registerNib:cellNib forCellReuseIdentifier:k_CELL_ID];
theTableView.rowHeight = CELL_HEIGHT; //not sure if this is ok in iOS 7
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:k_CELL_ID];
if (cell == nil)
NSLog(@"cell is nil! WTF??");
id someData = //retrieve customization data
[cell setupWithCustomData:someData];
return cell;
}
@end