аннулирование removeFromSuperview? - PullRequest
0 голосов
/ 01 декабря 2009

[((UIImageView *) cell.backgroundView) removeFromSuperview];

удаляет cell.backgroundView из UITableviewCell, но как я могу вернуть его снова? (добавить еще раз это представление?)

Ответы [ 2 ]

2 голосов
/ 01 декабря 2009
[cell addSubview:myBackgroundView]

Где myBackgroundView - это UIImageView.Если вы сохраните myBackgroundView в качестве переменной экземпляра, вы можете просто добавить ее снова.Если нет, вам нужно повторно инициализировать backgroundView;

UIImageView *myBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"your image"]] autorelease];

Что-то в этом роде.

1 голос
/ 01 декабря 2009

Вам нужно будет сохранить ссылку на суперпредставление и использовать addSubview:

UIView *imageView = (UIView *)cell.backgroundView;
UIView *imageSuperview = imageView.superView; // I assume it's cell, but just in case

// Remove imageView
[imageView removeFromSuperview];

// Add it again
[imageSuperview addSubview:imageView];

Если вы храните imageView в полях и т.п., убедитесь, что вы правильно сохранили свои ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...