我正在尝试对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的方法添加覆盖也似乎没有帮助。不确定我错过了什么。
知道这是为什么造成的吗?
注意:如果需要更多信息,请发表评论告诉我们。如果问题不明确则相同。评论会有所帮助。