Добавление UIImageView в пользовательскую ячейку UITableView - PullRequest
1 голос
/ 08 декабря 2011

Это правильный путь или есть лучшие решения?

Большое спасибо!

Code (rowAtIndexPath)

UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(500, 50, 20, 20)];
        imageView.image = [UIImage imageNamed:@"Icon.png"];
        [cell addSubview:imageView];

Ответы [ 4 ]

4 голосов
/ 08 декабря 2011

Вы должны добавить свои представления в contentView ячейки, а не в представление ячейки.Вот пример:

UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(500, 50, 20, 20)];
imageView.image = [UIImage imageNamed:@"Icon.png"];
[cell.contentView addSubview:imageView];
1 голос
/ 04 апреля 2014
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(cell.contentView.frame.origin.x, cell.contentView.frame.size.height, 20, 20)];

imageView.image = [UIImage imageNamed:@"Icon.png"];
[cell.contentView addSubview:imageView]; 

Это правильно.для большого списка UITableView.Если вы используете [cell addSubview:], это будет выглядеть как мерцание для большого списка.

0 голосов
/ 21 июля 2017

для Swift 3

let imgView : UIImageView = UIImageView(frame: CGRect(x: 500, y: 50, width: 70, height: 70)) 
     //CALayer for rounded image 
        let imageCALayer : CALayer = imgView.layer
        imageCALayer.cornerRadius = 35
        imageCALayer.masksToBounds = true
        imgView.image = UIImage(string: "Icon.png")
        cell.contentView.addSubview(imgView)
0 голосов
/ 06 сентября 2012

Вот мой код, и он хорошо работает. Надеюсь, он вам поможет.

UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(cell.contentView.frame.origin.x, cell.contentView.frame.size.height, 20, 20)];
imageView.image = [UIImage imageNamed:@"Icon.png"];
[cell.contentView addSubview:imageView];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...