新聞申請をしています。
テーブルビューの最初のセルを異なるサイズの 2 つのビューで構成し、2 番目のセルからは、各セルに同じサイズの 3 つのビューが必要で、すべてのセルのビューにアクションが必要です
新聞申請をしています。
テーブルビューの最初のセルを異なるサイズの 2 つのビューで構成し、2 番目のセルからは、各セルに同じサイズの 3 つのビューが必要で、すべてのセルのビューにアクションが必要です
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