nadav
nadav

Reputation: 33

xcode uitableview cell image align

I'm sure this is very simple but i can't find any documentation about it..

in my uitableview i have the text labels aligned to the right (my app is in heberw which is rtl) i'm trying to add an image to the cell to the RIGHT of the text label, no luck, so far the image is aligned to the left and i can't find a way to align it to the right side of the cell.

here's my code:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }


        cell.imageView.image = [UIImage imageNamed:@"tableicon.png"];

    NSString *cellValue = [[stories objectAtIndex:indexPath.row] objectForKey:@"ArticleTitle"];
    cell.textLabel.text = cellValue;
    cell.textLabel.textAlignment = UITextAlignmentRight;
    cell.textLabel.font = [UIFont systemFontOfSize:17];
        cell.textLabel.numberOfLines = 2;

    return cell;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 50;

}

Upvotes: 0

Views: 8313

Answers (2)

HoratioCain
HoratioCain

Reputation: 915

Instead of adding the image as a subview of your UITableViewCell, add a container with right aligned subviews.

UIImageView *pic = myImageView;
UIView *picContainer = [[UIView alloc] initWithFrame:cell.frame];
picContainer.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
picContainer.contentMode = UIViewContentModeRight;
pic.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
pic.center = CGPointMake(picContainer.frame.size.width-70, picContainer.frame.size.height/2);
[picContainer addSubview:pic];
[cell.contentView addSubview:picContainer];

This has the added benefit of automatically readjusting when the orientation changes.

Upvotes: 2

try this one

cell.accessoryView=[UIImage imageNamed:@"tableicon.png"];

Upvotes: 0

Related Questions