non è possibile rimuovere l'UIRefreshControl utilizzando setEnabled:NO
, in modo da questo è necessario per rimuoverlo dal suo superview.I hanno provato un campione utilizzando la classe di raggiungibilità fornito da Apple.
Per aggiungere UIRefreshControl è possibile utilizzare questo:
UIRefreshControl *refContr=[[UIRefreshControl alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
[refContr setTintColor:[UIColor blueColor]];
[refContr setBackgroundColor:[UIColor greenColor]];
[self.view addSubview:refContr];
[refContr setAutoresizingMask:(UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleLeftMargin)];
[refContr addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
Poi Implementato notifica classe raggiungibilità:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
è possibile farlo utilizzando bandiera bool per controllare la connettività, Qui sto fornire questo esempio usando la classe di raggiungibilità da parte di apple per verificare la mia connettività.
switch (netStatus)
{
case NotReachable: {
for (UIRefreshControl *subView in [myView subviews]) {
if ([subview isKindOfClass:[UIRefreshControl class]]) {
[subView removeFromSuperview];
}
}
//or you could use [UIRefreshControl setHidden:YES];
connectionRequired = YES;
break;
}
case ReachableViaWiFi: {
for (UIRefreshControl *subView in [myView subviews]) {
if ([subview isKindOfClass:[UIRefreshControl class]]) {
[subview removeFromSuperview];
}else{
[self.view addSubview:refContr];
}
//or you could use [UIRefreshControl setHidden:NO];
break;
}
}
Spero che questo funzioni per voi.
fonte
2013-10-30 14:18:20
si può trovare questo divertente. Ho provato a classificare sottotitoli sia il controllo che tableview. Ho intercettato messaggi in cerca di qualcosa da sfruttare, senza fortuna. Finalmente con la tableview ho sovrascritto -subviews in modo da nascondere il controllo, senza fortuna. Alla fine, se tutto ciò che fai è aggiungere il controllo usando addSubview, il tableview contiene un forte riferimento ad esso. Nessuna quantità di nascondigli, fissando cornici, funzionerebbe. –