Cuando la rotation de la pantalla ReloadData ()

No puedo actualizar mi vista personalizada cuando giras la pantalla de mi dispositivo.

Intenté hacer esto:

override func viewDidLoad() { super.viewDidLoad() var myCustomView = Customview() self.view.addsubview(myCustomView) } } override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { // Reload Data here self.view.reloadData() // Incorrect } 

Pero hazme un error:

el método "UIView" no tiene un método llamado reloadData

 override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { // Reload Data here self.view.reloadData() // Incorrect } 

UIView no es un UITableView , no tiene reloadData método de reloadData de datos.

Puedes implementar este método manualmente -> divertirse 🙂

Desea llamar a reloadData() en la instancia de su UITableView (suponiendo que haya alguna). UIView no proporciona dicho método.

Edite para recibir una notificación cuando la orientación de la pantalla haya cambiado, configure una notificación:

 NSNotificationCenter.defaultCenter().addObserver(self, selector: "didRotate:", name: UIDeviceOrientationDidChangeNotification, object: nil) 

e implementa el selector, ej.

 func didRotate(notification: NSNotification) { myTableView.reloadData() } 

Creo que es trabajo para ti

C objective

[self.view setNeedsDisplay];

rápido

self.view.setNeedsDisplay ()

  override func viewDidLoad() { super.viewDidLoad() var myCustomView = Customview() self.view.addsubview(myCustomView) } } override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { // Reload Data here self.view.setNeedsDisplay() }