down objective-c overlay ios7 uirefreshcontrol

objective-c - down - swift uirefreshcontrol



Controles de texto de UIRefreshControl en el indicador de actualizaciĆ³n (3)

Comienzo con la programación bajo XCode 5 con iOS 7 SDK. Y cuando creo el UITableViewController con UIRefreshControl con ''attributeText'' tengo texto superpuesto sobre los gráficos de UIRefreshControl (animación de progreso de círculo).

Pero cuando abro y suelto el dedo, el texto salta a su posición normal. ¿Porqué sucedió?

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(updateDeviceList) forControlEvents:UIControlEventValueChanged]; refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Update Devices States"]; self.refreshControl = refreshControl;

Antes de bajar hasta el final:

Después del lanzamiento de UIRefreshControl :


Cambia tu código a la siguiente

self.refreshControl = [UIRefreshControl new]; [self.refreshControl addTarget:self action:@selector(updateDeviceList) forControlEvents:UIControlEventValueChanged]; self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Update Devices States"]; self.refreshControl = refreshControl;

Eso debería arreglar tu problema


Por favor, intente esto.

- (void)viewDidLoad { [super viewDidLoad]; UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"]; [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refreshControl; dispatch_async(dispatch_get_main_queue(), ^{ [self.refreshControl beginRefreshing]; [self.refreshControl endRefreshing]; }); }


layoutIfNeeded después de configurar el título

self.refreshControl = [[UIRefreshControl alloc] init]; [self.refreshControl addTarget:self action:@selector(updateDeviceList) forControlEvents:UIControlEventValueChanged]; self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Update Devices States"]; [self.refreshControl layoutIfNeeded];