空の を作成しましたxib
。UITableViewCell
(UserCell)をオーバーライドするクラスを作成しました。
いくつかの文字列を表示用にフォーマットし、2 つのラベルを で接続するカスタム ロジックを挿入しIB
ます。
私のView ControllerはUITableView
. ビューコントローラーをデータソースとして設定しました。これが、カスタム セルを設定する方法です。
(した: http://www.highoncoding.com/Videos/823_Creating_a_Custom_UITableViewCell.aspx )
-(UserCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UserCell* cell = [tableView dequeueReusableCellWithIdentifier:@"Users Table"];
if (!cell) {
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"UserCell" owner:nil options:nil];
for (id currentObject in topLevelObjects) {
if ([currentObject isKindOfClass:[UserCell class]]) {
cell = (UserCell*) currentObject;
break;
}
}
}
[cell setUserNameText:[[[_userDataManager getUsers] objectAtIndex:indexPath.row] name ]];
[cell setNumberLabelText:indexPath.row];
return cell;
}
なぜかスクロールできません。テーブルビューに印刷していますviewDidLoad:
。scrollEnabled
「1」です。
カスタムを入れるまではこんなトラブルはありませんでしたUITableViewCell
。:(
アドバイスありがとうございます!:D
編集: カスタム セル コード。
#import "UserCell.h"
@implementation UserCell
@synthesize textLabel, numberLabel;
- (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
}
-(void) setNumberLabelText:(NSInteger)text {
self.numberLabel.text = [[NSString alloc] initWithFormat:@"# %d", text];
}
-(void) setUserNameText:(NSString*)text {
self.userNameLabel.text = text;
}
@end