2017-02-21 5 views
1

quel est le meilleur code pour ci-dessous, le code fonctionne bien et il n'y a pas de problème je trouve un meilleur moyen d'écrire le code, il y a 11 vues et nombre d'utilisateurs donc ce que j'ai besoin est de cacher les vues basées sur les utilisateurs disponibles de 11 permet de dire que nous avons 11 utilisateurs et le disponible seulement 2 donc il sera de 2 sur 11. l'application va cacher la 1ère vue et 2ème vue mais ne va pas cacher vues de 3 à 11 et ainsi de suiteRaccourci le code (cacher les vues basées sur le nombre de nombre)

NSInteger countOfViews = 2; 
    if (countOfViews == 1) { 
     UIView *viewtag1 = (UIView *)[self.leftScrollView viewWithTag:1000]; 
     UIView *viewtag2 = (UIView *)[self.leftScrollView viewWithTag:2000]; 
     UIView *viewtag3 = (UIView *)[self.leftScrollView viewWithTag:3000]; 
     UIView *viewtag4 = (UIView *)[self.leftScrollView viewWithTag:4000]; 
     UIView *viewtag5 = (UIView *)[self.leftScrollView viewWithTag:5000]; 
     UIView *viewtag6 = (UIView *)[self.leftScrollView viewWithTag:6000]; 
     UIView *viewtag7 = (UIView *)[self.leftScrollView viewWithTag:7000]; 
     UIView *viewtag8 = (UIView *)[self.leftScrollView viewWithTag:8000]; 
     UIView *viewtag9 = (UIView *)[self.leftScrollView viewWithTag:9000]; 
     UIView *viewtag10 = (UIView *)[self.leftScrollView viewWithTag:10000]; 
     UIView *viewtag11 = (UIView *)[self.leftScrollView viewWithTag:11000]; 

     viewtag1.hidden = YES; 
     viewtag2.hidden = NO; 
     viewtag3.hidden = NO; 
     viewtag4.hidden = NO; 
     viewtag5.hidden = NO; 
     viewtag6.hidden = NO; 
     viewtag7.hidden = NO; 
     viewtag8.hidden = NO; 
     viewtag9.hidden = NO; 
     viewtag10.hidden = NO; 
     viewtag11.hidden = NO; 
    } 


if (countOfViews == 2) { 
     UIView *viewtag1 = (UIView *)[self.leftScrollView viewWithTag:1000]; 
     UIView *viewtag2 = (UIView *)[self.leftScrollView viewWithTag:2000]; 
     UIView *viewtag3 = (UIView *)[self.leftScrollView viewWithTag:3000]; 
     UIView *viewtag4 = (UIView *)[self.leftScrollView viewWithTag:4000]; 
     UIView *viewtag5 = (UIView *)[self.leftScrollView viewWithTag:5000]; 
     UIView *viewtag6 = (UIView *)[self.leftScrollView viewWithTag:6000]; 
     UIView *viewtag7 = (UIView *)[self.leftScrollView viewWithTag:7000]; 
     UIView *viewtag8 = (UIView *)[self.leftScrollView viewWithTag:8000]; 
     UIView *viewtag9 = (UIView *)[self.leftScrollView viewWithTag:9000]; 
     UIView *viewtag10 = (UIView *)[self.leftScrollView viewWithTag:10000]; 
     UIView *viewtag11 = (UIView *)[self.leftScrollView viewWithTag:11000]; 

     viewtag1.hidden = YES; 
     viewtag2.hidden = YES; 
     viewtag3.hidden = NO; 
     viewtag4.hidden = NO; 
     viewtag5.hidden = NO; 
     viewtag6.hidden = NO; 
     viewtag7.hidden = NO; 
     viewtag8.hidden = NO; 
     viewtag9.hidden = NO; 
     viewtag10.hidden = NO; 
     viewtag11.hidden = NO; 
    } 

/* 
till if (countOfViews == 11) 
*/ 
+0

vous pouvez utiliser [collection Outlet] (http://useyourloaf.com/blog/interface-builder-outlet-collections/) qui vous font créer une matrice de points de vente, ce serait beaucoup plus propre – Tj3n

Répondre

1
NSInteger countOfViews = 2; 
    for (int i = 1; i <= 11; i++) { 
      UIView *view = (UIView *)[self.leftScrollView viewWithTag:i * 1000]; 
      view.hidden = (i <= countOfViews); 
    } 
+0

Neat & Clean +1 –

+0

Clever. Merci beaucoup – WonderX