Создайте новые UiImageViews программно - PullRequest
0 голосов
/ 11 октября 2011

Мне было интересно узнать о цикле создания новых UIImageViews во время выполнения.Я хочу, чтобы у каждого UiImageView было другое имя.Если пользователь указывает, что ему нужно 100 изображений, то 100 изображений имеют соответствующий размер и размещаются в определенной области экрана.Они должны заполнить банку.Аналогично разделу «Звезды» приложения Starbucks Mobile Card, за исключением неограниченного количества возможных изображений.

Как мне это сделать?

РЕДАКТИРОВАТЬ: представления изображений должны помещаться внутри банки ниже:Jar

Спасибо

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Вы можете создать несколько UIImageView с помощью цикла for и NSMutableArray, что-то вроде этого:

NSMutableArray *imagesArray = [[NSMutableArray alloc] init];
for (int i=0; i<100; ++i) {
    UIImageView *imgView = [[UIImageView alloc] init];
    // customize the UIImageView as you like
    [imagesArray addObject:imgView];
    [imgView release];
}

В качестве альтернативы, если имена важны, тогда создайте NSMutableDictionaryи используйте -addObject:forKey:, чтобы сделать UIImageView объектом для ключа @"imgName" или любым другим именем, которое вам нравится.

0 голосов
/ 11 октября 2011

Итог по проблеме памяти: Не разрешают бесконечное количество изображений.

  1. Если изображения заполняют банку, чтобы быть реалистичным, вы должны иметь перекрытие. Нет никакого шанса, что пользователь сможет увидеть сто разных изображений, если все они будут отображаться на экране одновременно.

  2. Ограничение пользователя. Вам нужно выбросить из головы понятие бесконечность . Тогда ты должен быть в порядке. Что вы действительно хотите, чтобы ваша программа отображала много изображений. Я не уверен, намерены ли вы разрешить масштабирование или нет - что еще более усложнит ситуацию - но 100 изображений, отображаемых на экране iPhone, одинакового размера, не считая упомянутую вами банку, - 48 на 32 пикселя. Это уже довольно мало.

  3. Нам действительно нужно больше информации, чтобы посоветовать вам, как решить эту проблему. Вы собираетесь разрешить увеличение? Изображения перекрываются или нет? насколько маленьким вы намереваетесь установить минимальный размер? и т. д. и т. д.

Что касается нескольких изображений, PengOne верен.

Это добавит изображения в NSMutableArray.

NSMutableArray *imagesArray = [[NSMutableArray alloc] init];
for (int i=0; i<100; ++i) {
    UIImageView *imgView = [[UIImageView alloc] init];
    // customize the UIImageView as you like
    [imagesArray addObject:imgView];
    [imgView release];
}

PengOne )

Вам, конечно, придется добавить их на экран с помощью петли и в конечном итоге удалить их из него.

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