保存坐标或更新帧
Save coordinate or update frames
我正在制作一个应用程序,它使用 gestureRecognizer
通过触摸拖放一些 view
。但是新闻位置没有保存,我真的不知道怎么弄。
首先,我用这个 gestureRcognizer
来移动我的 view
:
func glisserDeposerNote(sender : UIPanGestureRecognizer) {
let note1 = sender.view!
let touchCoordinates = sender.locationInView(self.scrollview)
note1.center = touchCoordinates
self.viewnote1.translatesAutoresizingMaskIntoConstraints = true
}
其次,我尝试将 CGPoint
转换为 NSData
,但之后我不知道如何保存它:
let points = touchCoordinates
let pointObj = NSValue(CGPoint: points)
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(pointObj, forKey: "coord1")
但是当我尝试移动视图时这会导致崩溃。我注意到这是因为 defaults.setObject...
但我真的不知道为什么。
用户默认值似乎不支持 CGPoint 值。尝试将其转换为字符串,然后再返回。你有这些工具。示例:
let pointValue = NSStringFromCGPoint(CGPoint(x: 0.1, y: 1.0))
NSUserDefaults.standardUserDefaults().setValue(pointValue, forKey: "coord1")
let point = CGPointFromString(NSUserDefaults.standardUserDefaults().valueForKey("coord1") as! String)
我终于发现:
所以我必须使用override func viewDidLayoutSubviews()
我正在制作一个应用程序,它使用 gestureRecognizer
通过触摸拖放一些 view
。但是新闻位置没有保存,我真的不知道怎么弄。
首先,我用这个 gestureRcognizer
来移动我的 view
:
func glisserDeposerNote(sender : UIPanGestureRecognizer) {
let note1 = sender.view!
let touchCoordinates = sender.locationInView(self.scrollview)
note1.center = touchCoordinates
self.viewnote1.translatesAutoresizingMaskIntoConstraints = true
}
其次,我尝试将 CGPoint
转换为 NSData
,但之后我不知道如何保存它:
let points = touchCoordinates
let pointObj = NSValue(CGPoint: points)
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(pointObj, forKey: "coord1")
但是当我尝试移动视图时这会导致崩溃。我注意到这是因为 defaults.setObject...
但我真的不知道为什么。
用户默认值似乎不支持 CGPoint 值。尝试将其转换为字符串,然后再返回。你有这些工具。示例:
let pointValue = NSStringFromCGPoint(CGPoint(x: 0.1, y: 1.0))
NSUserDefaults.standardUserDefaults().setValue(pointValue, forKey: "coord1")
let point = CGPointFromString(NSUserDefaults.standardUserDefaults().valueForKey("coord1") as! String)
我终于发现:
所以我必须使用override func viewDidLayoutSubviews()