Bir grafikte bir iç çiziliyor var UIScrollView. Biri iri # UIViewözel bir alt sınıfını kullanarak CATiledLayerkendi katman olarak.
Ben içine ve dışına zumladığınızda UIScrollView, ben gelen grafiği döndüğünüzde grafik öyle dinamik gibi yeniden boyutlandırmak istediğiniz viewForZoomingInScrollView. Ancak, Grafik yeni yakınlaştırma düzeyinde kendisini yeniden çizer ve ben kullanıcı yakınlaştırır dahaki sefere mevcut görünümden başlar dönüşümü böylece 1x1 ölçek dönüşümü sıfırlamak istiyor. Ben Kimlik dönüşümü sıfırlarsanız scrollViewDidEndZooming, simülatörü çalışır, ancak bir atar EXC_BAD_ACCSEScihazda.
Kullanıcı yakınlaştırır dahaki sefere, en ne idiyse yakınlaştırma seviyesine sıfırlar kendisini dönüştürmeye çünkü bu bile, ya tamamen simülatörde sorunu çözmüyor, ben örneğin, 2x yakınlaştırılmış yani eğer o benziyor o 4x aniden bu. Ben zoom bitirince, doğru ölçekte biter, ama yakınlaştırma gerçek eylemi kötü görünüyor.
Yani ilk: nasıl grafik yakınlaştırma sonra 1x1 standart ölçeğinde kendisini yeniden çizmek için izin veriyoruz ve nasıl boyunca pürüzsüz zoom var?
Düzenleme: Yeni bulgular hatası gibi görünüyor [CALayer retainCount]: message sent to deallocated instance
Ben asla herhangi katmanları kendim ayırmayı kaldırma ediyorum. Önce, ben bile herhangi görünümleri veya silerek değildi. Bu hata zoom ve ayrıca döndürmek üzerine atılmış ediliyordu. Ben rotasyon ve önce nesneyi silerseniz o istisna değil, daha sonra bunu yeniden ekleyin. Bu yakınlaştırma için bir seçenek değildir.













