2013-12-11 3 views
0

В моем приложении я сбрасываю изображение с url и показываю его в uiimageview ячейки uitableview.Как разместить изображение с url на Imageview в iPhone

Здесь я получаю проблему, я использую Lazyloading, но в мобильном устройстве она рушится, поскольку кэш-память заполнена. Так что я не получаю никакого решения для решения этой проблемы.

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

, пожалуйста, помогите мне с кем-нибудь, я пытаюсь, но я не получаю никакого решения. Я очень новичок в разработке iphone. Пожалуйста, дайте какое-нибудь предложение. Я использовал SdWebImage в lazyloading, так что я не получаю никакого решения для своего проблема.

Благодаря & уважения Sravya

ответ

0

Вы должны управлять обналичиванием от вашей собственной стороны. Если вы dont't хотите сделать много вещей на использование AFnetworking Library

Использование UIImageView Категория: UIImageView Category

[imageViewObject setImageWithURL:YOUR_URL_FORIMAGE_HERE]; 

Я надеюсь, что это воля помогает вам и легко.

0

Вы должны изменить размер изображений перед их кешированием/отображением на изображении. Независимо от того, какой формат изображения вы используете, когда изображение отображается в представлении, оно преобразуется в растровое изображение и чем больше изображение, тем больше объем памяти. Проверьте код here для некоторых категорий изменения размера UIImage, которые должны помочь вам достичь именно этого.

0

Используйте эту ссылку:

https://github.com/nicklockwood/AsyncImageView

Скачать код:

  1. Перетаскивание AsyncImageView.h и AsyncImageView.m в проекте
  2. Использование UITableView методы делегата

Здесь является Пример код:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
     return [imageURLs count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    #define IMAGE_VIEW_TAG 99 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) 
{ 
    //create new cell 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 

    //add AsyncImageView to cell 
    AsyncImageView *imageView = [[AsyncImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 44.0f, 44.0f)]; 
    imageView.contentMode = UIViewContentModeScaleAspectFill; 
    imageView.clipsToBounds = YES; 
    imageView.tag = IMAGE_VIEW_TAG; 
    [cell addSubview:imageView]; 
    [imageView release]; 

    //common settings 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; 
    cell.indentationWidth = 44.0f; 
    cell.indentationLevel = 1; 
} 

//get image view 
AsyncImageView *imageView = (AsyncImageView *)[cell viewWithTag:IMAGE_VIEW_TAG]; 

//cancel loading previous image for cell 
[[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imageView]; 

//load the image 
imageView.imageURL = [imageURLs objectAtIndex:indexPath.row]; 

//display image path 
cell.textLabel.text = [[[imageURLs objectAtIndex:indexPath.row] path] lastPathComponent]; 

return cell; 
} 

если вы получаете какую-либо ошибку в перетаскивании классов AsyncImageView щелкните prject-> Build Phases-> Compile Sources

в AsyncImageView.m написать -fno-ObjC-дуговой

попробуйте. надеюсь, поможет вам

Смежные вопросы