UITableViewCell accessoryType position изменить с высотой ячейки

Я сделал UITableView с ячейками разной высоты. К каждой ячейке я прикрепил accessoryView (UIImageView).

В зависимости от высоты ячейки положение accessoryType различается (см. Прикрепленное изображение). Как я могу это исправить?

Это нормально в любом табличном представлении. Ничего не найдено.

Спасибо за вашу помощь. http://i.stack.imgur.com/kKOn0.png

ОБНОВЛЕНИЕ: My cellForRowAtIndexPath:

NSDictionary *currentTime = [listOfTimes objectAtIndex:indexPath.row];


UITableViewCell *cell;
if([[currentTime objectForKey:@"freq"] intValue] > 0) cell = [self getCellFreqContentView:@"CellFreq"];
else cell = [self getCellContentView:@"Cell"];

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];  
[dateFormatter setDateStyle:NSDateFormatterNoStyle];    
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];

UILabel *lblTemp1 = (UILabel *)[cell viewWithTag:1];
UILabel *lblTemp2 = (UILabel *)[cell viewWithTag:2];

if([[currentTime objectForKey:@"freq"] intValue] > 0) {

    lblTemp1.text = [NSString stringWithFormat:@"%@\n\n%@", [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:[[currentTime objectForKey:@"arrival_time_seconds"] doubleValue]]],[dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:[[currentTime objectForKey:@"departure_time_seconds"] doubleValue]]]];

    UILabel *lblTemp3 = (UILabel *)[cell viewWithTag:3];
    UILabel *lblTemp4 = (UILabel *)[cell viewWithTag:4];        
    lblTemp3.text = @"↓";
    lblTemp4.text = [NSString stringWithFormat:NSLocalizedString(@"A pass every %i minutes", nil), [[currentTime objectForKey:@"freq"] intValue]/60];
} else { 
    lblTemp1.text = [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:[[currentTime objectForKey:@"departure_time_seconds"] doubleValue]]];
}

lblTemp2.text = [currentTime objectForKey:@"trip_headsign"];

cell.selectionStyle = UITableViewCellSelectionStyleNone;

UIView *vv = [[UIView alloc] initWithFrame:cell.frame];
if(indexPath.row == [ScheduleManager getRowForTime:listOfTimes] && isCurrentPeriod == TRUE) {
    vv.backgroundColor = [BKColor colorWithHexString:@"54B8BB"];
}

// SPECIAL CASES
if([[currentTime valueForKey:@"runoff"] count] > 0 && useExceptions == TRUE) {
    // ACCESSORY
    cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"times-special.png"]];
}

cell.backgroundView = vv;

return cell;
}

7
задан hashier 20 November 2014 в 11:26
поделиться