2015-01-20 2 views
3

Я не могу обновить свой пользовательский вид при включении экрана моего устройства.При повороте экрана ReloadData()

Я пытался сделать это:

override func viewDidLoad() { 
     super.viewDidLoad() 


     var myCustomView = Customview() 

     self.view.addsubview(myCustomView) 
     } 
    } 

    override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { 

     // Reload Data here 

     self.view.reloadData() // Incorrect 

    } 

Но поймите меня ошибка:

метод "UIView" не имеет метод, называемый reloadData

ответ

3

Вы хотите позвонить reloadData() на экземпляр вашего UITableView (при условии, что он есть). UIView не предоставляет такой метод.

Редактировать, чтобы получить уведомление, когда ориентация экрана изменилась, настроить уведомления:

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

и реализовать селектор, например,

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

Как я могу назвать reloadData при вращении экрана? – Paul

+0

См. Мой обновленный ответ. –

+0

Но ОП ничего не сказал о tableViews в его вопросе – ColdSteel

3
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { 

    // Reload Data here 

    self.view.reloadData() // Incorrect 

} 

UIView не UITableView он не имеет reloadData метод из коробки.

Вы можете реализовать этот метод вручную -> весело :)

1

Я думаю, что это работа для вас

Objective-C

[self.view setNeedsDisplay];

быстры

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() 

      } 
+0

А вы используете swift, я отредактирую свой ответ –

+0

Нет, это не работает. Когда я поворачиваю макет устройства, он не восстанавливается, и вы видите зло – Paul

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

  • Нет связанных вопросов^_^