Temel olarak, UIScrollView öğesinden tüm nesneleri kaldırmak istiyorum ve henüz bir çözüm bulamadım çünkü basit bir "removeAllObjects" komutu çalışmıyor. Kimsenin nasıl yapılacağı hakkında bir fikri var mı?iPhone: UIScrollView öğesinden tüm nesneler nasıl kaldırılır
cevap
Daha kolay:
[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
numaralandırma sıralarken alt görünümleri kaldırmak için kesinlikle güvenlidir Ben aynı anda diziyi değiştirirken alt görünümler arasında döngü ile ilgili olarak 'makeObjectsPerformSelector' ile aynı sorunu var sanırım. Bu yol zariftir ve birçok kişi tarafından kullanılır, ama yukarıda hangi progrmr'ın ortaya çıktığını nasıl ele alırsınız? – iwasrobbed
Oldukça eminim makeObjectsPerformSelector: her nesne üzerindeki seçiciyi çağırmadan önce geçici bir dizi oluşturur. Eğer söylemediysen, sorunlara sebep olur. – Kalle
kolay yolu:
for(UIView *subview in [scrollView subviews]) {
[subview removeFromSuperview];
}
Öğelerin arasında döngü yaparken dizi içeriğini değiştirmek güvenli midir? Sadece merak ediyorum ... – progrmr
Genelde muhtemelen en iyi uygulama değildir, bu nedenle, kaldırılmak üzere işaretlenmiş geçici bir dizi kurmak isteyebilirsiniz. : P – iwasrobbed
Ebeveynlerin alt koleksiyonları – ohhorob
İki çözümler kaydırma çubukları çıkarmadan, şöyle olacaktır:
senin subviews tüm etiket ekle, bunları kaldırmak bu etiketleri kullanarak.
Uygulama:
Yeri Bu sınıfın üstünde
#define XPScrollViewSubviewStartTag 100
daha sonra görüşlerini kullanmak silmek istediğinizde nesneleri
for(NSInteger = 0;i<[viewArray count];i++){
UIView* view = [viewArray objectAtIndex:i];
view.tag = XPScrollViewSubviewStartTag + i;
[scrollView addSubview:view];
}
eklediğinizde
for(UIView* view in [scrollView subviews]){
if(view.tag >= XPScrollViewSubviewStartTag)
[view removeFromSuperview];
}
yaratmak Özel bir UIView sınıfı görüşlerini
kaldırmak istediğiniz
for(id view in [scrollView subviews]){
if(![view isKindOfClass:[CustomView class]])
continue;
//not necessary, but just to make things understandable
CustomView* customView = (CustomView*)view;
[customView removeFromSuperview];
}
Oritm çözümü güzel, ama size etiketleri kullanarak rahatsız etmek istemiyorsanız, el ile kaldırmak istediğiniz görünümleri kaldırabilirsiniz scrollview. Bu, hangi görüntünün kaldırılacağını bildiğinizi varsayar.
// This will remove the scrollview but the scrollbars will remain
for (UIView *subview in [self.detailsExpander.scrollView subviews]) {
if ([NSStringFromClass([subview class]) isEqualToString:@"UILabel"])
[subview removeFromSuperview];
}
Bu yalnızca tüm etiketleri kaldırmak, ancak (görüntü manzarası vardır) kaydırma çubukları tutacak: Aşağıdaki çalıştırdığınızda Örneğin, benim Scrollview sadece bu UILabels vardır. Not: Belirli resim görüntülerini tutmak istiyorsanız, aynı zamanda kaydırma çubuklarını tutmak istediğinizde bu işe yaramaz.
- 1. NSMutableArray öğesinden tüm nesneler nasıl kaldırılır?
- 2. contentUISCrollView öğesinden sonra iPhone
- 3. Activerecord sorgu resultset öğesinden nasıl kaldırılır?
- 4. iphone - UIScrollview - scrollRectToFlaşıyla yavaş animasyonlu
- 5. Nesneler için kümede çiftler nasıl kaldırılır?
- 6. React JS: bir öğenin nesneler olduğu yer olan this.state.data öğesinden doğru şekilde nasıl kaldırılır
- 7. Tüm boş XElements'lar nasıl kaldırılır
- 8. Label'dan tüm dolgular nasıl kaldırılır?
- 9. ConcurrentBag'den tüm öğeler nasıl kaldırılır?
- 10. UIScrollView
- 11. iPhone - tüm UIWindow
- 12. UIScrollView
- 13. UIScrollView?
- 14. UIScrollView
- 15. Bir elemandaki tüm dinleyiciler nasıl kaldırılır?
- 16. Diğer tüm satırlar sed ile nasıl kaldırılır?
- 17. Bir mongodb örneğinden tüm çoğaltma nasıl kaldırılır?
- 18. Java'da JFrame'in tüm bileşenleri nasıl kaldırılır?
- 19. Dize tüm emoji nasıl kaldırılır - php
- 20. Tüm test dersleri Pharo'dan nasıl kaldırılır?
- 21. Tüm Click olay işleyicileri nasıl kaldırılır?
- 22. Pencerelerde tüm yakut taşları nasıl kaldırılır?
- 23. Yuvarlak UIScrollView Performans
- 24. UIScrollView dokunuşları işe yaramıyor
- 25. UIScrollView, kaydırıldıkları her seferde
- 26. Tüm sekmeler parçacıklarını QTabWidget öğesinden alın
- 27. iPhone, tüm albümleri/sanatçıları ara
- 28. Dizimdeki diğer tüm nesneler neden boş?
- 29. xmldocument öğesinden varsa özniteliği kaldır
- 30. JTextField öğesinden JTextField öğesinden JText
"UISubview" öğesinin tüm alt görünümlerini kaldırmayın. Kaydırma göstergesi görünümleri alt görüntülemelerdir. Onları da çıkaracaksın. İçerik görünümlerinizi kendi kapsayıcınıza yerleştirmenizi öneririz UIView. (Eklerken ve çıkarırken kolay erişim için bir ivar olarak saklayın) – ohhorob