xcode uitableview单元格图像对齐

时间:2011-03-16 11:05:47

标签: xcode uitableview cell alignment

我确信这很简单,但我找不到任何关于它的文档..

在我的uitableview中我将文本标签对齐到右边(我的应用程序是heberw,这是rtl) 我正在尝试将图像添加到文本标签右侧的单元格,没有运气,到目前为止,图像与左侧对齐,我无法找到将其对齐到单元格右侧的方法。

这是我的代码:

- (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;

}

2 个答案:

答案 0 :(得分:2)

不是将图像添加为UITableViewCell的子视图,而是添加一个具有右对齐子视图的容器。

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];

这样可以在方向发生变化时自动重新调整。

答案 1 :(得分:0)

尝试这个

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