- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
selectedCellIndexPath = indexPath;
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionNone animated:YES];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(selectedCellIndexPath != nil && [selectedCellIndexPath compare:indexPath] == NSOrderedSame)
return kTableViewExpandRowHeight;
else
return kTableViewCollapseRowHeight;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
填星星,demo,AdvancedTableViewCells
- (void)drawRect:(CGRect)rect
{
CGPoint ratingImageOrigin = CGPointMake(81.0, 45.0);
UIImage *ratingBackgroundImage = [UIImage imageNamed:@"StarsBackground.png"];
[ratingBackgroundImage drawAtPoint:ratingImageOrigin];
UIImage *ratingForegroundImage = [UIImage imageNamed:@"StarsForeground.png"];
UIRectClip(CGRectMake(ratingImageOrigin.x, ratingImageOrigin.y,
ratingForegroundImage.size.width * (_cell.rating / MAX_RATING),
ratingForegroundImage.size.height));
[ratingForegroundImage drawAtPoint:ratingImageOrigin];
}
- (void)_commonInit
{
backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"StarsBackground.png"]];
backgroundImageView.contentMode = UIViewContentModeLeft;
[self addSubview:backgroundImageView];
foregroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"StarsForeground.png"]];
foregroundImageView.contentMode = UIViewContentModeLeft;
foregroundImageView.clipsToBounds = YES;
[self addSubview:foregroundImageView];
}
UITableView *tab;
BOOL animations = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:YES];
[tab beginUpdates];
[tab endUpdates];
[UIView setAnimationsEnabled:animations];
selectedCellIndexPath = indexPath;
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionNone animated:YES];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(selectedCellIndexPath != nil && [selectedCellIndexPath compare:indexPath] == NSOrderedSame)
return kTableViewExpandRowHeight;
else
return kTableViewCollapseRowHeight;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
填星星,demo,AdvancedTableViewCells
- (void)drawRect:(CGRect)rect
{
CGPoint ratingImageOrigin = CGPointMake(81.0, 45.0);
UIImage *ratingBackgroundImage = [UIImage imageNamed:@"StarsBackground.png"];
[ratingBackgroundImage drawAtPoint:ratingImageOrigin];
UIImage *ratingForegroundImage = [UIImage imageNamed:@"StarsForeground.png"];
UIRectClip(CGRectMake(ratingImageOrigin.x, ratingImageOrigin.y,
ratingForegroundImage.size.width * (_cell.rating / MAX_RATING),
ratingForegroundImage.size.height));
[ratingForegroundImage drawAtPoint:ratingImageOrigin];
}
- (void)_commonInit
{
backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"StarsBackground.png"]];
backgroundImageView.contentMode = UIViewContentModeLeft;
[self addSubview:backgroundImageView];
foregroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"StarsForeground.png"]];
foregroundImageView.contentMode = UIViewContentModeLeft;
foregroundImageView.clipsToBounds = YES;
[self addSubview:foregroundImageView];
}
UITableView *tab;
BOOL animations = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:YES];
[tab beginUpdates];
[tab endUpdates];
[UIView setAnimationsEnabled:animations];