我想要使用locationInView來獲取觸摸的位置。當我將locationInView打印到控制檯時,會輸出正確的值。但是,當我嘗試並將其分配給本地變量時,該變量永遠不會獲取該值,因此我的代碼的其餘部分不起作用。另外,這是UIControl的一個子類。touch.locationInView不分配給本地變量
以下摘錄:
override func beginTrackingWithTouch(touch: UITouch, withEvent event: UIEvent?) -> Bool
{
NSLog("\(touch.locationInView(self))") // Prints out the correct location
let newPoint = touch.locationInView(self) // Never gets assigned to newPoint
var calculatedIndex: Int?
for (index, item) in labels.enumerate() {
if item.bounds.contains(newPoint) {
calculatedIndex = index
}
}
if calculatedIndex != nil {
selectedIndex = calculatedIndex!
sendActionsForControlEvents(.ValueChanged)
}
return false
}
我懷疑實際發生了什麼,記錄/打印'newPoint'的輸出是什麼? – luk2302
我添加了Xcode和調試器的本地和控制檯的快照,顯示發生了什麼。 – bryken
Xcode調試器已知有相當多的錯誤,請在分配newPoint日誌newPoint後添加NSLog語句。 – luk2302