Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
albert102
-21 / 1 / 0
Регистрация: 30.10.2013
Сообщений: 54
1

Показать loader пока image не загрузился

13.11.2013, 09:46. Просмотров 1012. Ответов 6
Метки нет (Все метки)

доброе утро!

загружаю картинку из интернета таким способом.

Код
UIImage *pImage=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]]];;
[imageView setImage:pImage];
но как отобразить loader пока фотография в 1мб загрузится?
подскажите, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 09:46
Ответы с готовыми решениями:

Создать Loader, который ждет пока не откроется нужный процесс а после чего заменяет массив байтов другим
как создать лоадер который ждет пока не откроется нужный процесс а после чего...

При загрузке изображений через Univeral Image Loader видно как они перерисовываются
я загружаю изображения из галереи в RecyclerView. Элемент RecyclerView есть...

показать картинку загрузки пока идет запрос
Привет всем. Работаю с yandex картами и как только происходит клик по карте...

Показать уведомление, пока идет фильрация (обработка данных)
Уважаемые знатоки, с наступившим Вас Новым годом! Подскажите как прописать...

Показать координаты курсора на Image
Как сделать, чтобы при наведении мыши на Image в строке состояния показывалась...

6
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
13.11.2013, 10:37 2
Ни в коем случае не грузите синхронно в главном потоке.
И все будет хорошо.
0
albert102
-21 / 1 / 0
Регистрация: 30.10.2013
Сообщений: 54
13.11.2013, 10:43  [ТС] 3
объясните подробнее.
то есть,чтобы не подвисало на время приложение, не делать это в одной функции? написать вторую для этого?
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
13.11.2013, 10:59 4
Называйте вещи правильно. Вы называете функциями - методы.
Почитайте что такое потоки.
В концепции iOS главный поток преимущественно для работы с графическим интерфейсом.
Для того, чтобы что-либо "качать" нужно создать/переключиться в другой поток и сделать эту работу в нем.

В вашем случае это будет так(самый просто вариант):
Objective-C
1
2
3
4
5
6
7
8
9
//Показываете индикатор загрузки
__block UIImageView *imageView = self.someImageView;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://eofdreams.com/data_images/dreams/image/image-07.jpg"]]];
    dispatch_async(dispatch_get_main_queue(), ^{
        //Скрываете индикатор загрузки
        imageView.image = image;
    });
});
0
albert102
-21 / 1 / 0
Регистрация: 30.10.2013
Сообщений: 54
13.11.2013, 11:04  [ТС] 5
Цитата Сообщение от zulkis Посмотреть сообщение
Называйте вещи правильно. Вы называете функциями - методы.
Почитайте что такое потоки.
В концепции iOS главный поток преимущественно для работы с графическим интерфейсом.
Для того, чтобы что-либо "качать" нужно создать/переключиться в другой поток и сделать эту работу в нем.

В вашем случае это будет так(самый просто вариант):
Objective-C
1
2
3
4
5
6
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
        UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://eofdreams.com/data_images/dreams/image/image-07.jpg"]]];
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.headerView.photoView setImage:image];
        });
    });
понял, спасибо!
но еще один момент, пока фотка не загрузилась еще, как анимацию загрузки показать?
неужели так

loader.StarAnimation;
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://eofdreams.com/data_images/dreams/image/image-07.jpg"]]];
dispatch_async(dispatch_get_main_queue(), ^{
[self.headerView.photoView setImage:image];
});
loader.StopAnimation;

??
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
13.11.2013, 11:04 6
Отредактировал предыдущее сообщение. Там все есть.
0
albert102
-21 / 1 / 0
Регистрация: 30.10.2013
Сообщений: 54
13.11.2013, 11:05  [ТС] 7
zulkis, ааа, все ясно.
спасибо еще раз, Вы очень помогли!
0
13.11.2013, 11:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 11:05

Спрятать, показать картинку Image при выполнении условия.
Доброе утро. Хотел узнать как грамотнее сделать так, что бы при выполнении...

Файл остается заблокированным до тех пор, пока объект Image не будет ликвидирован
Всем доброго времени суток. Нужна помощь. Есть image Box в нем...

Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась в пусто Image, а Image на который нажали исчезал.
Имеется 4 Image в 3 из них находятся картинки, а 4 пустой. Надо что бы при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru