iPhone SDKレシピ1:UITableViewで縞模様(ストライプ)
UITableViewで行を縞模様にするためには、UITableViewCellの背景を全てクリアしてから、backgroundViewのbackgroundColorを変更する。
ソースはこんな感じ。
UITableViewDelgate#tableView: cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; static NSString *CellIdentifier = @"IndexCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; UIView *bgView = [[UILabel alloc] initWithFrame:CGRectZero]; cell.backgroundView = bgView; [bgView release]; for (UIView *view in cell.contentView.subviews) { view.backgroundColor = [UIColor clearColor]; } } // Set up the cell... NSInteger row = [indexPath row]; [cell setText:@"Test"]; if (row % 2 == 1) { cell.backgroundView.backgroundColor = [[[UIColor alloc] initWithRed:0.3 green:0.3 blue:0.3 alpha:0.1] autorelease]; } else { cell.backgroundView.backgroundColor = [UIColor whiteColor]; } [cell retain]; [pool release]; return [cell autorelease]; }