我正在做报纸申请。
我希望tableview的第一个单元格由2个不同大小的视图组成,从第2个单元格开始,他们希望每个单元格中有3个相同大小的视图,并且每个单元格的视图都有动作
答案 0 :(得分:0)
只需在NIB文件中设计UITableViewCell并创建相对的.h和.m文件,我们就说:
MyCell.h
MyCell.m
MyCell.xib
在MyCell.xib中放置您想要的所有子视图,并将主要单元格对象的类设置为MyCell
(而不是标准UITableViewCell
)。
然后,您可以在代码中设置一些IBOutlet
并将它们链接到XIB中的子视图。
你也可以在自定义视图类中放置一些IBAction
,虽然这是不好的做法,你应该在控制器中真正拥有你的逻辑。 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