有人可以解释如何访问下面提到的CMutablePointer<CGPoint>
吗?我找不到它的语法。它曾经是->
中的Objective-C
,但这里我的解决方案都不起作用。 this link中提出的解决方案与我需要找到的方式相反。
func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: CMutablePointer<CGPoint>) {
let newPage = targetContentOffset->x + 1;
}
答案 0 :(得分:55)
正如@Eric在他的更新中提到的,scrollViewWillEndDragging委托现在采用UnsafePointer。要更新Unsafe指针,只需访问内存属性。
func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {
targetContentOffset.memory.y = x + 1
}
*测试并使用Swift Beta 4。
更新BETA 5
Swift Beta 5滚动视图委托使用UnsafeMutablePointer而不是UnSafePointer
func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
targetContentOffset.memory.y = x+ 1
}
答案 1 :(得分:40)
自Swift beta 5起,scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
已将UnsafeMutablePointer
实例作为其最后一个参数。当您的滚动视图调用此方法时,您的实现可以通过指针的pointee
属性访问基础Core Graphics点。
请注意,pointee
的拼写曾是Swift 3之前的memory
。
答案 2 :(得分:23)
SWIFT 3
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
var scrollOffset = targetContentOffset.pointee
}