cari

Rumah  >  Soal Jawab  >  teks badan

Objektif-c - Bagaimana untuk melaraskan saiz imej yang dipaparkan semasa memuatkan imej rangkaian daripada SDWebImage

Seperti yang ditunjukkan dalam gambar: Ini adalah tangkapan skrin telefon bimbit 6s. Saya meletakkan dia dalam UIImageView dengan lebar = lebar skrin telefon bimbit dan ketinggian 210. Gambar ini diperoleh melalui pemuatan rangkaian. Di sini saya menggunakan SDWebImage. Sekarang saya mahu imej kelihatan lebih baik, idea saya adalah untuk memangkas imej ini. Masalahnya ialah permintaan rangkaian di sini adalah tidak segerak. Saya tidak tahu di mana untuk mengendalikannya.

Masalah utama saya ialah saya tidak tahu di mana hendak memangkas imej web yang dimuatkan berdasarkan SDWebImage selepas ia dimuatkan.

Saya mahu gambar dalam talian dipaparkan seperti berikut: Saya sudah mempunyai kod untuk bahagian pemangkasan. Saya tidak tahu di mana untuk mengubah suainya.

滿天的星座滿天的星座2797 hari yang lalu847

membalas semua(1)saya akan balas

  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:31:09

    Gunakan pilihan muat turun SDWebImageAvoidAutoSetImage, klip di latar belakang selepas muat turun selesai, kemudian tetapkan imej dalam urutan utama dan panggil muat semula.
    Anda boleh menulis kategori untuk UIImageView untuk memudahkan panggilan.

    UIImageView *imageView;
    
        __weak __typeof(&*imageView) weakImageView = imageView;
        [imageView sd_setImageWithURL:url
                     placeholderImage:placeholder
                              options:SDWebImageAvoidAutoSetImage // 下载完成后不要自动设置image
                            completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
                image = [image croppedImage:...]; // 后台线程剪裁图片
    
                dispatch_async(dispatch_get_main_queue(), ^{
                    __typeof(&*weakImageView) strongImageView = weakImageView;
                    if (strongImageView) {
                        strongImageView.image = image;
                        [strongImageView setNeedsLayout];
                    }
                });
            });
        }];

    balas
    0
  • Batalbalas