#objective-c #xcode #ios #uiimageview
#objective-c #xcode #iOS #uiimageview
Вопрос:
В моем проекте я создал 30 небольших UIImageView, внутри которых я поместил другой фон. Это моя группа UIImageView без фона
и это группа UIImageView с другим фоном:
Я помещаю эти группы UImageView внутри UITableViewCell и использую их для определения временной шкалы, но это не важно. Я объявил в .h эти UIImageView, но теперь я должен вставить theme в NSArray или NSMutableArray? Потому что в моем коде (в зависимости от случая) Я должен установить различный фон для каждого UIImageView. Как я могу упорядочить их в своем коде?
Ответ №1:
Вы не хотите помещать их все в массив. Что вы на самом деле хотите сделать, так это назначить «теги» для каждого представления. Затем вы можете использовать -[UIView viewWithTag:(int)];
для получения указателя на изображение, с которым вы хотите «пообщаться» в данный момент. Имейте в виду, что не следует использовать отрицательные числа или 0 при пометке ваших просмотров.
Ответ №2:
Хотя я бы предложил нарисовать ваш вид временной шкалы с использованием одного UIView, динамически создавать и сохранять представления в массиве просто:
NSMutableArray *views = [NSMutableArray array];
NSUInteger viewCount = 30;
NSUInteger index;
for (index = 0; index < viewCount; index ) {
UIImageView *newView = [[[UIImageView alloc] initWithImage:anImage] autorelease];
[newView setFrame:CGRectMake(index * width, 0.0, width, height);
[[self someView] addSubview:newView];
[views addObject:newView];
}
Не забудьте сохранить или скопировать views
в какой-то момент.
Затем, чтобы изменить представление:
[[views objectAtIndex:8] setImage:anotherImage];