2013-11-19 7 views
1

В моем willAnimateRotationToInterfaceOrientation методе, у меня есть следующий:TableView reloadData отстает от вращения

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 

if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) { 
    if (IS_IPHONE_5) { 
     _headerImage.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.height, 50); 
     NSURLRequest *_request = [NSURLRequest requestWithURL:[NSURL URLWithString:[Shared LogoLandPhoneRet]]]; 
     [_headerImage setImageWithURLRequest:_request andDefaultImageName:nil andUserData:nil target:self sucessful:nil failed:nil]; 
    } else { 
     _headerImage.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.height, 50); 
     NSURLRequest *_request = [NSURLRequest requestWithURL:[NSURL URLWithString:[Shared LogoLandPhone]]]; 
     [_headerImage setImageWithURLRequest:_request andDefaultImageName:nil andUserData:nil target:self sucessful:nil failed:nil]; 
    } 
} else { 
    if (IS_IPHONE_5) { 
     _headerImage.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, 50); 
     NSURLRequest *_request = [NSURLRequest requestWithURL:[NSURL URLWithString:[Shared LogoPortPhoneRet]]]; 
     [_headerImage setImageWithURLRequest:_request andDefaultImageName:nil andUserData:nil target:self sucessful:nil failed:nil]; 
    } else { 
     _headerImage.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, 50); 
     NSURLRequest *_request = [NSURLRequest requestWithURL:[NSURL URLWithString:[Shared LogoPortPhone]]]; 
     [_headerImage setImageWithURLRequest:_request andDefaultImageName:nil andUserData:nil target:self sucessful:nil failed:nil]; 
    } 
} 

// [NSThread detachNewThreadSelector:@selector(doTable) toTarget:self withObject:NULL]; 
[_feedTable reloadData]; 
} 

Однако, когда я теперь повернуть мое устройство, она отстает и занимает около 2-3 секунд, чтобы на самом деле вращается. Какие-нибудь советы о том, почему это может быть?

+0

Не перезагружайте его в 'willAnimate'. Перезагрузите таблицу в 'didRotate' – danypata

+0

Я думаю, что это не лучшая идея. При использовании 'willAnimate ...', вращение будет анимировано и, следовательно, станет более гладким для пользователя. –

ответ

0

ли он или он замораживает интерфейс? я предполагаю, что запрос замораживает интерфейс, поэтому вы пытаетесь сделать запрос асинхронным или попробуйте сделать кеш раньше.

Смежные вопросы