以编程方式在单元格中放置UImageView

时间:2013-09-09 13:56:35

标签: ios objective-c uitableview

我有UITableViewCell *cell,其中包含UIImageView *imageUILabel *description个子视图。描述标签位于单元格的上半部分,我需要在标签和底边之间找到UIImageView。这是我的代码:

CGFloat bottomTextY = cell.labelDescription.frame.origin.y + cell.labelDescription.frame.size.height;
CGFloat newImageY = bottomTextY + (cell.frame.size.height - bottomTextY) / 2;

cell.image.center = CGPointMake(cell.image.center.x, newImageY);

但每次位置不同时,标签与边缘之间并不严格。 Autolayout已关闭。求你帮我!)

2 个答案:

答案 0 :(得分:0)

为了让您的生活更轻松,您应该在故事板中设计您的单元格(原型单元格)。该单元格将包含您的两个字段(图像和文本)。然后标记您的字段和

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

添加如下内容:

UIImageView * imageView = (UIImageView *)[cell viewWithTag:CELL_TAG_PHOTO];
imageView .image      = [self.photoSource objectForKey:key] ;

当然,每个元素的标记(数字)必须是唯一的,因为这是标识元素的方式(用#define CELL_TAG_PHOTO (tag_number)定义它们)

答案 1 :(得分:0)

设置UIImageView的框架,而不是中心属性。

示例:

    cell.imageView .frame = CGRectMake(0, CGRectGetMaxY(cell.descriptionLabel.frame), cell.frame.size.width, cell.frame.size.height - CGRectGetMaxY(cell.descriptionLabel.frame));