2013-09-09 2 views
0

У меня есть UITableViewCell *cell, который имеет UIImageView *image и UILabel *description. Метка описания удерживает верхнюю часть ячейки, мне нужно найти UIImageView между меткой и нижним краем. Вот мой код:Использование программного обеспечения UImageView в ячейке программно

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

Но каждый раз, когда позиция отличается, это не строго между меткой и краем. Автоотключение отключено. Пожалуйста, помогите мне!)

+0

У вас есть несколько скриншотов, чтобы продемонстрировать это может быть? – AMAN77

ответ

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))

0

Установите раму UIImageView, а не свойство центра.

Пример:

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