UITableViewDelegate禁用itemselected

时间:2017-09-21 08:46:49

标签: ios uitableview xamarin xamarin.forms

我正在尝试对IOS的tableview进行简单的更改。由于我的项目使用Xamarin表单,我使用自定义渲染器。

我想要做的更改是关闭键盘是表格滚动,简单就是这样。

当我进行以下更改时,它将适用于我的新滚动覆盖事件但停止从触发中选择的项目(单元格)(我的一些单元格离开页面)并且必须点击。

public class CustomTableRenderer : TableViewRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<TableView> e)
    {
        base.OnElementChanged(e);

        if (Control == null)
            return;

        var tableView = Control as UITableView;

        TableDelegate tableDelegate;
        tableDelegate = new TableDelegate();
        tableView.Delegate = tableDelegate;
    }
}

public class TableDelegate : UITableViewDelegate
{
    #region Constructors
    public TableDelegate()
    {
    }

    public TableDelegate(IntPtr handle) : base(handle)
    {
    }

    public TableDelegate(NSObjectFlag t) : base(t)
    {
    }

    #endregion

    #region Override Methods
    public override void Scrolled(UIScrollView scrollView)
    {
        UIApplication.SharedApplication.KeyWindow.EndEditing(true);
        //base.Scrolled(scrollView);
    }

    #endregion
}

我尝试将UITableViewDelegate更改为UITableViewController但似乎会导致更多问题。

为所有其他调用base的方法添加覆盖也似乎没有帮助。不确定我错过了什么。

知道这是为什么造成的吗?

注意:如果需要更多信息,请发表评论告诉我们。如果问题不明确则相同。评论会有所帮助。

0 个答案:

没有答案