当您关闭我的设备屏幕时,我无法更新自定义视图。
我试着这样做:
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的方法
答案 0 :(得分:3)
您想在reloadData()
的实例上调用UITableView
(假设有任何内容)。 UIView
没有提供这样的方法。
修改以在屏幕方向更改时收到通知,设置通知:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "didRotate:", name: UIDeviceOrientationDidChangeNotification, object: nil)
并实现选择器,例如
func didRotate(notification: NSNotification)
{
myTableView.reloadData()
}
答案 1 :(得分:3)
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {
// Reload Data here
self.view.reloadData() // Incorrect
}
UIView
不是UITableView
,它没有开箱即用的reloadData
方法。
您可以手动实施此方法 - >玩得开心:)
答案 2 :(得分:1)
我认为它适合你
<强>目标-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()
}