SORU
30 Mayıs 2012, ÇARŞAMBA


Ne zaman iOS setNeedsDisplay aramam gerekiyor mu?

İPhone/iPad app oluştururken, setNeedsDisplay aramam gerektiğinde anlamış değilim? /UI yeniden güncelleme ile ilgili bir şey; ancak, bu her zaman aramama gerek görüşlerimi herhangi değiştirebilirim? olduğunu biliyorum

Örneğin, buna ihtiyacım var:

  • Programlama yoluyla metin alanında metin değiştirdikten sonra
  • Görünümün arka planını değiştirme ne zaman?
  • Ben viewDidLoad içinde değişiklik mi yaptın?
  • Nasıl viewDidAppear?

Birisi bana bazı genel kurallar bu yöntemi kullanma ile ilgili olarak verebilir misiniz? Teşekkürler

CEVAP
30 Mayıs 2012, ÇARŞAMBA


Sadece drawRect temelde özel bir görünüm hatları, görüntü,dikdörtgen gibi ekrana bir şeyler çizmek , hangi UİView bir alt sınıfta geçersiz kılmak setNeedsDisplay arıyor olman lazım.

Bu yüzden aramalısın setNeedsDisplay zaman yaptığınız değişiklikler birkaç değişkenleri üzerinde olan bu çizim değişir ve görüntülemek için temsil eden değişim , araman gerek bu yöntem DAHİLİ olarak verecek bir çağrı drawRect ve yeniden düzenleme bileşenleri.

Bir imageView ya da bir küme olarak bir UİButton veya herhangi bir küme için değişiklik yapmak zaman, bu yöntemi çağırın gerekmez.

Örnek:

Hareketli bir daire gösteren bir görünümü var, ya da sen ve dokunmadan hareket, ya da zamanlayıcı tabanlı animasyon olabilir. Bunun için verilen yarıçapı ile verilen merkezde bir daire çizer özel bir görünüm gerekir. Bu merkezini değiştirerek çemberi hareket ettirin ya da büyütmek için değiştirilmiş olan değişkenleri yarıçapını artırarak örnek olarak tutulur.

Şimdi bu durumda ya da bu değişkenler(merkezi veya yarıçap) döngü ve zamanlayıcı değiştirir Veya touchesEnded ve touchesMoved yöntemleri parmaklarını olabilir. Değişikliği yansıtmak için bu özelliği olan setNeedsDisplay diyeceksiniz bu görünüm yeniden çizmek gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010