-1

新聞申請をしています。

テーブルビューの最初のセルを異なるサイズの 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 に必要なすべてのサブビューを配置し、メインのセル オブジェクトのクラスを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
于 2013-08-25T13:25:35.613 に答える