私はこれに慣れていないので、ご容赦ください:
UITableView が埋め込まれた UIScrollView を含む IB に .xib があります。カスタム UITableViewCells を UITableView にロードしたいと思います。IB で 4 つまたは 5 つのカスタム セルを作成しましたが、最初のセルを正しくロードできません。
IB からの関連するスクリーンショットは次のとおりです。
IB で作成したカスタム UITableViewCell のクラスを、作成した「itemCell」という UITableView クラスに設定しました。さらに、3 つのテキスト フィールド アウトレットとデリゲートを「itemCell」に接続しました。
itemCell.h は次のとおりです。
#import <UIKit/UIKit.h>
@interface itemCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UITextField *quantityTextField;
@property (weak, nonatomic) IBOutlet UITextField *itemTextField;
@property (weak, nonatomic) IBOutlet UITextField *priceTextField;
@end
itemCell.m は次のとおりです。
#import "itemCell.h"
@implementation itemCell
@synthesize quantityTextField,itemTextField,priceTextField;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
rootcontroller .xib の実装ファイルである filecontroller.m で、ユーザーがボタンを押すことに基づいて新しいセルを作成し (それを配列に追加)、テーブルビューをリロードします。エラーは発生していませんが、IB で作成したものではなく、通常のセルが読み込まれています。ここに rootcontroller.m があります。どんな助けでも大歓迎です。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
scrollView =(UIScrollView *)self.view;
items = [[NSMutableArray alloc] init];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [items count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
return [items objectAtIndex:[indexPath row]];
}
- (UITableViewCell *)initiateNewCell{
itemCell *cell = [[itemCell alloc] init];
cell.accessoryType = UITableViewCellAccessoryNone;
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
return cell;
}
- (IBAction)addItem:(id)sender {
//creates the new cell to be added
[items addObject:[self initiateNewCell]];
[self.tableView reloadData];