Я использую пользовательский uiview для асинхронной загрузки и изменения его свойства изображения после успеха.Добавление пользовательского uiView в свойство UITableViewCell imageView
Я могу добавить статические изображения в UITableViewCell со стилем UITableViewCellStyleSubtitle со следующим кодом:
CGRect viewRect = CGRectMake(-20, -20, 40, 40);
cell.imageView.frame = viewRect;
[cell.imageView setImage:[UIImage imageNamed:@"example"]];
[cell.imageView setContentMode:UIViewContentModeScaleAspectFill];
[cell.imageView setClipsToBounds:YES];
[cell.imageView.layer setBorderColor:[UIColor orangeColor].CGColor];
[cell.imageView.layer setBorderWidth:1.0];
[cell.imageView.layer setCornerRadius:cell.imageView.frame.size.width/1.25];
, но когда я пытаюсь добавить свой собственный UIView с помощью:
PAAImageView *avatarView = [[PAAImageView alloc] initWithFrame:cell.imageView.frame backgroundProgressColor:[UIColor whiteColor] progressColor:[UIColor lightGrayColor]];
[cell.imageView addSubview:avatarView];
[cell.imageView bringSubviewToFront:avatarView];
[cell.imageView setClipsToBounds:YES];
[cell.imageView.layer setBorderColor:[UIColor orangeColor].CGColor];
[cell.imageView.layer setBorderWidth:1.0];
[cell.imageView.layer setCornerRadius:cell.imageView.frame.size.width/1.25];
пользовательский UIView никогда не появляется. Есть ли отдельный способ сделать это?
EDIT
Я назначая шаблонное изображение, а затем положить PAAImageview поверх него. Как и раньше, чтобы установить статическое изображение, ниже добавляется представление, но оно по-прежнему имеет размер в кадре (-20, -20, 40, 40), в то время как cell.imageView взорван (я думаю, из-за UIViewContentModeScaleAspectFill). Как я могу получить этот PAAImageView в верхней части изображения-заполнителя?
PAAImageView *avatarView = [[PAAImageView alloc] initWithFrame:cell.imageView.bounds backgroundProgressColor:[UIColor whiteColor] progressColor:[UIColor lightGrayColor]];
[avatarView setContentMode:UIViewContentModeScaleAspectFill];
avatarView.progressColor = [UIColor orangeColor];
[cell addSubview:avatarView];
Вы добавляете пользовательские UIView к ImageView, является то, что вы хотите? возможно, вам нужно добавитьSubview в ячейку, а не в imageView. –
@FabioCardoso. Но не изменился ли текст, одно из преимуществ UITableViewCellStyleSubtitle? – DaynaJuliana
Изображение ячейки изображения отображается только и определяется, когда вы назначаете ему изображение. Вы никогда не присваиваете изображение «cell.imageView», поэтому он никогда не будет установлен. Это означает, что представление, которое вы добавляете к представлению изображения, не будет видно. Создайте свой собственный класс ячеек с помощью 'PAAImageView' и двух ярлыков по мере необходимости. Затем вы можете разделить три вида по мере необходимости. – rmaddy