setNeedsDisplay
ile uğraşıyorum. Göründüğü görünüm için drawRect:
çağrılarını tetiklemesi gerekiyordu ve hiyerarşinin altında olması, görünümün sınırları dahilinde ise, ancak durumun böyle olmadığını bulmuyorum. İşte benim kurulumum:setNeedsDisplay, alt gösterimlerde beklendiği gibi tetiklenmiyor
Uygulama temsilcisinden, boyutu esas olarak tüm ekran emlakını kapsayan bir karesi olan bir görünüm oluşturuyorum. Bu görünüm TrollCalendarView
olarak adlandırılır. Pusula tarafından tetiklenen bir rotasyon hariç, TrollCalendarView
ile çok fazla şey yoktur.
7 taraflı düzende TrollCalendarView
merkezi etrafında düzenlenmiş 2B çekme maddeleri taşımak için PlatformView
adı TrollCalendarView
7 subviews vardır. Böylece iPad döndürülürken, bu 7 görünüm, her zaman kardinal yönlere göre yönlendirilecek şekilde döndürülür.
PlatformView
altyazılarının her biri Tower
adlı 3 alt görünümü içerir. Her kule, drawRect:
'da uygulanan 2B çizim nesneleri içerir.
Yani, özetle, ben boş drawRect:
ile TrollCalendarView
var ve PlatformView
ve Platformview
subviews - Her drawRect uygulamaları olduğunu> Kulesi. Ayrıca, Tower Platform sınırları içinde yer alır ve Platform TrollCalendarView sınırları içinde yer alır.
TrollCalendarView
'da bir kaydırıcı tanıyıcı ekledim. Kaydırma gerçekleştiğinde, bir özellik güncelleştirilir ve ben [self setNeedsDisplay]
derim ama hiçbir şey olmuyor gibi görünüyor. Bu görünümlerin her birinde NSLog girişlerini drawRect:
yöntemine ekledim ve yalnızca TrollCalendarView
drawRect:
yöntemi çağrıldı. İronik olarak, bu, drawRect
yönteminin boş olacağı görünümdür.
Hiçbir xib dosyası yok.
Diğer alt görünümlerde drawRect
yönteminin kullanıldığından emin olmak için ne yapmam gerekiyor? Bunu etkileyebilecek tüm nüansları tanımlayan bir yer var mı?
Bu fikri, bu soruya verilen cevaplardan, yığın akışında benzer sorulara sahibim. Sadece subview setNeedsDisplay örneklerini arayın. Bir kaç tane var. –
Başka bir yol öğrenemediğim sürece bu öneriyi takip edeceğim. En azından testlerimde bulgularımla uyuşuyor. –
Ne yazık ki, çok fazla gürültü ve çok fazla kör-kör-kör. Baktığınız sorular çok az oy var, bu yüzden pek çok insan onları görmedi ya da onları düzeltmek için bir şansı yoktu. Yeni başlıyorsanız, Apple dokümanları çok daha güvenilirdir. –