0

我有一个UITableViewCell *cell,它有一个UIImageView *image和一个UILabel *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);

但每次位置不同,并不是严格在标签和边缘之间。自动布局已关闭。请帮我!)

4

2 回答 2

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)

于 2013-09-09T14:17:45.397 回答
0

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

例子:

    cell.imageView .frame = CGRectMake(0, CGRectGetMaxY(cell.descriptionLabel.frame), cell.frame.size.width, cell.frame.size.height - CGRectGetMaxY(cell.descriptionLabel.frame));
于 2013-09-09T15:12:57.870 回答