Как я могу получить значения CGRect x, y, width, height после авторазмера размера представления? - PullRequest
5 голосов
/ 12 марта 2012

Я хочу, чтобы значения x, y, widht, height отображались автоматически при изменении размера при изменении ориентации ipad.Как я могу получить это?

Ответы [ 4 ]

17 голосов
/ 12 марта 2012

После поворота вида вы сможете получить новые размеры вида.

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    CGRect myFrame = [self.view frame];
    NSLog(@"height = %f", myFrame.size.height);
    NSLog(@"width = %f", myFrame.size.width);
    NSLog(@"x = %f", myFrame.origin.x);
    NSLog(@"y = %f", myFrame.origin.y);
}
4 голосов
/ 12 марта 2012

попробуйте

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
   float x = yourView.bounds.origin.x;
   float y = yourView.bounds.origin.y; 

   float width = yourView.bounds.size.width;
   float height = yourView.bounds.size.height; 

   NSLog(@"x=%f,y=%f,w=%f,h=%f",x,y,width,height);
}
0 голосов
/ 12 марта 2012
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    /*Subclasses may override this method to perform additional actions immediately after
      the rotation. For example, you might use this method to reenable view interactions, 
      start media playback again, or turn on expensive drawing or live updates. By the time 
      this method is called, the interfaceOrientation property is already set to the new 
      orientation.*/
   CGRect frame = self.view.frame
}
0 голосов
/ 12 марта 2012

после вращения попробуй.

 NSLog(@"x = %.2f y = %.2f width = %.2f height = %.2f", view.frame.origin.x , view.frame.origin.y, view.frame.size.width, view.frame.size.height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...