2011-03-03 4 views
1

J'ajoute 4 sous-vues (UIScrollView, UITableView) dans la vue principale sur ipad, et chaque vue a ses propres données.
Dans la vue Marco, j'essaie de recharger les données du serveur toutes les 3 secondes pour rafraîchir mon Marco View.
comme premier pic ..
enter image description hereIPad - comment rafraîchir subview sur ipad?

I set 3 icônes Marco sur ipad vue principale, lorsque je supprime un sur popoverView.
Les icônes sur popoverView effacent vraiment, mais affichent toujours 3 icônes dans la vue principale.
comme deuxième et troisième pic ...
enter image description here

enter image description here

Il doit être supprimer de fond et l'application ouverte, il va être vue correcte ..
comme quatrième pic ..
Dose tout on sait quel est le problème .. J'essaie d'utiliser [marco_scrollview setNeedsDisplay].
mais pas de travail ..
Merci à l'avance ..
voici mon code pour obtenir Marcodata:

- (void)getTheMacroURLData{ 
    //[self.view setNeedsDisplay]; 
// [marco_scrollview setNeedsDisplay]; 
    self.macroList = nil; 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    EnvoTouchAppDelegate *appDelegate = (EnvoTouchAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    struct sockaddr_in Addr; 
    bzero(&Addr, sizeof(Addr)); 
    Addr.sin_len = sizeof(Addr); 
    Addr.sin_family = AF_INET; 
    SCNetworkReachabilityRef target = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *) &Addr); 
    SCNetworkReachabilityFlags flags; 
    SCNetworkReachabilityGetFlags(target, &flags); 
    if (flags & kSCNetworkReachabilityFlagsIsWWAN){ 
     //Serial Number not save in the keychain now 
     NSString *theNewURLString = [NSString stringWithFormat:eGetAllMacrosSettingURL3G,[userDefaults objectForKey:@"ecsn"],appDelegate.udid]; 
     NSURL *theNewURL = [NSURL URLWithString:theNewURLString]; 
     self.macroList = [NSMutableArray arrayWithContentsOfURL:theNewURL]; 
    } 
    if (flags & kSCNetworkFlagsReachable){ 
     NSString *theNewURLString = [NSString stringWithFormat:eGetAllMacrosSettingURLWiFi,appDelegate.ipString,appDelegate.udid]; 
     NSURL *theNewURL = [NSURL URLWithString:theNewURLString]; 
     self.macroList = [NSMutableArray arrayWithContentsOfURL:theNewURL]; 
    } 
    int k=0; 
    for (int i=0; i<[self.macroList count]; i++) { 
     int j=i%9; 
     if (j==0) { 
      k++; 
     } 
     UIButton *iconButton=[UIButton buttonWithType:UIButtonTypeCustom]; 
     NSString *picString = [[self.macroList objectAtIndex:i] valueForKey: @"pid"]; 
     UIImage *buttonImage = [UIImage imageNamed:picString]; 

     [iconButton setImage:buttonImage forState:UIControlStateNormal]; 
     [iconButton setTag:i]; 
     [iconButton addTarget:self action:@selector(exeMacro:) forControlEvents:UIControlEventTouchUpInside]; 
     [iconButton setFrame:CGRectMake(30+(i%9*80), 17+((k-1)*70), 48, 48)]; 
     //[self.view addSubview:iconButton]; 
     [marco_scrollview addSubview:iconButton]; 
     if ([self.macroList count] > 18) { 
      [marco_scrollview setContentSize:CGSizeMake(320, 525 + (([self.macroList count]/4 - 4) * 70))]; 
     } 
    } 
    [marco_view addSubview:marco_scrollview]; 
} 

Et je tente de recharger les données toutes les 3 secondes .. Je ne sais pas pourquoi il doesn « t rafraîchir Marco .. Voir

enter image description here

+0

Pouvez-vous poster le code qui pilote l'affichage de la scrollview de Marco? – Tim

+0

Je poste mon code à propos de Marco scrollview..Merci .. – miniHsieh

Répondre

0

L'écran fait apparaître comme si vous utilisez un tableview quelque part. Si oui, appelez-vous la méthode reloadData sur la vue tabulaire?