SORU
28 Ocak 2010, PERŞEMBE


Tüm subviews kaldırmak?

Benim app kök görüntülemek kumandası döndüğünde, viewDidAppear: yöntemi tüm subviews kaldırmak için ihtiyacım var.

Bunu nasıl yapabilirim?

CEVAP
28 Ocak 2010, PERŞEMBE


Düzenleme:cocoafan sayesinde Bu durum NSView UIView farklı işlerle gerçeği ile karmaşık. NSView (masaüstü Mac kalkınma) için, basitçe aşağıdaki gibi kullanabilirsiniz:

[someNSView setSubviews:[NSArray array]];

UIView (yalnızca iOS geliştirme), güvenli bir şekilde subviews özelliği döndürür, çünkü makeObjectsPerformSelector: kullanabilirsinizkopyalasubviews: dizinin

[[someUIView subviews]
 makeObjectsPerformSelector:@selector(removeFromSuperview)];

Teşekkür ederim Tommy işaret makeObjectsPerformSelector: görünür değiştirmek için subviews dizi süre olarak numaralandırılmış (öyle istiyor NSView ama UIView).

Daha fazla ayrıntı için this SO question bakın lütfen.

Not:Bu iki yöntemden birini kullanarak ana görünüm içeren görünüm her kaldıracaktırve onları serbest bırakıneğer başka bir yerde. istediğiniz gibi değilse removeFromSuperview: Apple'ın belgeleri

Eğer alıcının superview değil nil ise, bu yöntem, alıcı serbest bırakır. Eğer bu görünüm yeniden kullanmayı planlıyorsanız, bu yöntem çağırmadan önce korumak ve başka bir görünüm hiyerarşisi ekledikten sonra onunla işiniz bittiğinde uygun olarak serbest bırakmak için emin olun.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • RocketJump

    RocketJump

    22 ŞUBAT 2006
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007