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

  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • Film Riot

    Film Riot

    16 NİSAN 2006
  • StalkerJS

    StalkerJS

    15 HAZİRAN 2010