我有一个UITableView
,需要知道用户的拖动何时结束? (当用户抬起他的手指时)我正在使用Xamarin,但在Swift或Objective-C中的答案会很好。
修改
我试过了:
public class ImageSlideShowTable : UITableView, IUITableViewDelegate
{
public event EventHandler DragEnded;
public ImageSlideShowTable()
{
this.Delegate = this;
}
[Export("scrollViewDidEndDragging:willDecelerate:")]
public void DraggingEnded(UIScrollView scrollView, bool willDecelerate)
{
DragEnded?.Invoke(null, EventArgs.Empty);
}
[Export("touchesEnded:touches:evt")]
public override void TouchesEnded(Foundation.NSSet touches, UIEvent evt)
{
base.TouchesEnded(touches, evt);
// only gets called after I tap the screen
}
}
但DraggingEnded
永远不会被调用,TouchesEnded
仅在我点按屏幕后被调用。
答案 0 :(得分:1)
UITableViewDelegate
继承UIScrollViewDelegate
,因此您可以使用UIScrollView
协议方法获取有关拖动事件的通知:
答案 1 :(得分:0)
我解决了。您需要覆盖DraggingEnded
中的TableViewSource
方法。