2013-04-24 1 views
1

Я хотел бы знать новую ширину мой UIViewControllers вид будет иметь после изменения вращения, но мне эта информация уже в методеComputing UIViews новая ширина перед тем вращения

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 

, так что я не могу доступ свойство frame или bounds.

Я попытался использовать свойства слоя presentationLayer и modelLayer, но не нашел правильного решения.

Было бы здорово, если бы кто-нибудь знал решение или мог дать некоторую пищу мысли.

ответ

0

Я нашел проблему!

Метод, который я использовал был призван рано:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 

Вместо этого я знаю, использовать это:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration 
{ 
    CGRect frame = [self.view.window convertRect:self.view.frame fromView:self.view]; 
    float newWidth = frame.size.width; 

    // Doing my animation stuff... 
} 

Это позволяет мне иметь правильную новую ширину и анимировать мои взгляды правильно.

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