DYRateViewを使用して、カスタムUITableViewCell
クラスに星評価ビューを表示しています。DYRateView (UIView のサブクラス) のインスタンスが割り当てられ、'layoutSubviews' メソッドで初期化されます。
「layoutSubviews」でビューを割り当て/初期化するのは悪い習慣ですか? セルを再利用する場合、すべてのセルで割り当て/初期化するか、ビューを再利用しますか?
.h
@property (retain, nonatomic) IBOutlet DYRateView *rateView;
.m
- (void)layoutSubviews
{
[super layoutSubviews];
rateView = [[DYRateView alloc] initWithFrame:CGRectMake(100, 60, 160, 20) fullStar:[UIImage imageNamed:@"StarFullLarge.png"] emptyStar:[UIImage imageNamed:@"StarEmptyLarge.png"]];
NSLog(@"created");
rateView.padding = 10;
rateView.alignment = RateViewAlignmentCenter;
rateView.editable = YES;
rateView.delegate = self;
rateView.rate = _rating;
[self.contentView addSubview:rateView];
}