-1

我正在做一份报纸申请。

我希望 tableview 的第一个单元格包含 2 个不同大小的视图,并且从第 2 个单元格开始,他们希望每个单元格中有 3 个相同大小的视图以及每个单元格视图的操作

http://imgh.us/custom_cell.png

4

1 回答 1

0

只需在 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
于 2013-08-25T13:25:35.613 回答