Как я могу горизонтально центрировать UIImageView в UITableViewCell? - PullRequest
0 голосов
/ 20 августа 2011

У меня проблемы с центрированием изображения 200x200 по горизонтали внутри настроенного UITableViewCell.Я установил tableViewheightForRowAtIndexPath в UITableViewDelegate на соответствующее значение, но это не центрирует мое изображение по горизонтали, а только по вертикали (я думаю, лучше, чем ничего).Я также попытался изменить значение imageView.frame in layoutSubviews в своей настраиваемой ячейке, но это, похоже, не имеет никакого эффекта.Я даже закомментировал это, поместил его перед [super layoutSubviews];, поиграл со значениями кадра, но я продолжаю получать тот же результат.

Может кто-нибудь помочь мне с этим?Какой код я должен написать, чтобы достичь такого эффекта?Спасибо.

Ответы [ 2 ]

1 голос
/ 20 августа 2011

Вы попробуете этот код, он поможет вам

      You need to subclass UITableViewCell and override layoutSubviews, as follows:

     - (void) layoutSubviews
    {   
        [super layoutSubviews];

        self.imageView.frame = CGRectMake( 10, 10, 50, 50 ); // your positioning here
    }

    In your cellForRowAtIndexPath: method, be sure to return an instance of your new cell type.
0 голосов
/ 20 августа 2011
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

 UIImageView *imgView; 
 if(cell == nil)
 {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

   imgView = [[UIImageView alloc] initWithFrame:(100,0,100,62)];
    [imgView setImage:[UIImage imageNamed:@"img.png"]];
    imgView.tag = 55;
    [cell.contentView addSubview:imgView];
    [imgView release];
 } 
 else
 {
        imgView = (id)[cell.contentView viewWithTag:55];
 }
...