¿Cómo get el ancho de la UIView principal en modo horizontal?

Cuando uso este código:

- (void)viewDidLoad { [super viewDidLoad]; CGFloat mainViewWidth = self.view.bounds.size.width; NSLog(@"%f", mainViewWidth); } 

Obtuve el resultado en simulador: 480

y cuando comienzo la aplicación en mi iPhone 4 obtuve el resultado 320?

¿Hice algo mal?

Haz lo mismo en viewWillAppear .

 -(void)viewWillAppear:(BOOL)animated{ CGFloat mainViewWidth = self.view.bounds.size.width; NSLog(@"%f", mainViewWidth); } 

y vea si está obteniendo los valores correctos. ViewDidLoad se llama antes de que la vista se ViewDidLoad completo. El acceso a la propiedad de tamaño UIView le proporciona valores impnetworkingecibles allí.

testing esto

 -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { CGFloat width = CGRectGetWidth(self.view.bounds); } 

Swift 3.1:

 let width = yourView.bounds.width