Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

UITextView Asenkron Resim Ekleme

0 oy
64 kez görüntülendi
11, Ocak, 2016 ios development kategorisinde huseyinvural tarafından soruldu
Merhabalar, tableview içindeki her hücrede farklı metinler listeliyorum, ve bu liste içersinde .jpg .png uzantılı bir adres varsa asenkron bir şekilde dataya çevirip nstextattechmenta ekleyip daha sonrada ilgili range değerini tanımlayıp resmi uıtextview içine ekliyorum.

Fakat asenkron işlem sırasında, resmin yüklenmesi elemanların oluşturulmasından daha geç olduğundan, il aşamada resim sayfada goruntulenemeiyor. Görünür olan table cell görünmez konuma gelip scrool yapınca tekrar görünür konuma gelirse resim bu sefer görüntülenebiliyor. Bu yuzden bende resim yüklenme işleminin bittiği alanda, reloadRowsAtIndexPaths komutunu kullanıp son görünür olan table cell i yeniliyorum. Fakat bu da tam olarak düzgün çalışmıyor.

Resmin yüklenme işlemi bittikten sonra, istediğim table cell i aynı scool sırasında olduğu gibi yeniden render edilmesini sağlayabileceğim başka bir fonksiyon var mı ?

Yada yukarıdaki table cell içindeki uıtextview içine asenkron resim ekleme sorunumu çözebilecek, herhangi bir fikiriniz var mı ? Ben bir yol bulamadım yardımlarınızı bekliyorum, şimdiden çok teşekkürler.

1 cevap

+1 oy
12, Ocak, 2016 yasin tarafından cevaplandı
14, Ocak, 2016 huseyinvural tarafından seçilmiş
 
En İyi Cevap

imajı nasıl çekiyorsunuz? illaki kulandığınız bir httpRequest'i var bu işlem için değilmi?
ilgili imaj request'i başarılı bir şekilde sonuçlandığında UITableView'de beginUpdates, endUpdates'i kullanarak tabloyu yenileyebilirsiniz.

12, Ocak, 2016 yasin tarafından yorumlandı
Oluşturduğunuz simpleview class'ının init metodu içerisinde frame'i set etmelisiniz.
SimpleView(frame:view.frame) şeklinde yani.
Verdiğim örnekte dikkat ederseniz tableView init metodu içerisinde yaratılıyor.
Init ettikten sonra view frame'i tanımlamaya çalışmak beyhude. :)
13, Ocak, 2016 huseyinvural tarafından yorumlandı
13, Ocak, 2016 huseyinvural tarafından düzenlendi
selamlar cevabınız için çok teşekkür ederim, haklısınız çalışma mantığı ile ilgili eksik bilgilerim var örneğinizi inceledim fakat sorunumu bundan devam ederek çözemedim.

basit bir listeleme örneği hazırladım, bu örnekte table cell içindeki textview in scrool durumu enabled bu sayede resimler sorunsuz yüklenebiliyor. Fakat düzgün bir götüntü oluşması için scrool disabled olması lazım işte sorun tamda burda başlıyor ve resimleri goruntüleyemiyorum.

Bunun dışında aklama takılan bir kaç noktayı kodların arasında yorum olarak yazdım, eğer ilgilenebilirseniz beni buyuk bir derten kurtarız ve duamı alırsınız.

ilginiz için çok teşekkür ederim.

Örnek uygulama linki aşağıdadır.

https://drive.google.com/folderview?id=0B4MEF11v_cH3d053YmVJZGE2d2c&usp=sharing

zip linki
https://drive.google.com/open?id=0B4MEF11v_cH3OHZyOGtnX3JIWmM
13, Ocak, 2016 yasin tarafından yorumlandı
proje dosyanızı zipleyip google drive'a yüklerseniz daha iyi olur sanırım, bu haliyle teker teker klasör ve içerikleri indirmek gerekiyor.
13, Ocak, 2016 huseyinvural tarafından yorumlandı
tabi hemen ekliyorum farketmemişim,
13, Ocak, 2016 huseyinvural tarafından yorumlandı
13, Ocak, 2016 huseyinvural tarafından düzenlendi
drive sağ tıklayıp indir dediğimde tüm dosyayıda indirebildim, ama sizin için zip dosyasınıda ekledim.
zip linki  şu ;
https://drive.google.com/open?id=0B4MEF11v_cH3OHZyOGtnX3JIWmM

davamı bu konuda =>
http://forum.yasinturkoglu.com/820/uitextview-i%C3%A7inde-resim-g%C3%B6r%C3%BCnt%C3%BCleme-s%C4%B1ras%C4%B1nda-height-sorunu
...