是否有可能在MonoTouch中确定用户是否单击了BadgeElement中的图像?
本文关键字:是否 BadgeElement 图像 单击 有可能 MonoTouch 用户 | 更新日期: 2023-09-27 18:06:38
我修改了TODO列表应用程序,使用徽章元素代替布尔元素,如下所示:
protected void PopulateTable()
{
tasks = TaskManager.GetTasks().ToList ();
UIImage ticked = new UIImage("checkbox_checked.png");
UIImage unticked = UIImage.FromFile("checkbox_unchecked.png");
Root = new RootElement("Tasky") {
new Section() {
from t in tasks
select (Element) new BadgeElement(t.Completed ? ticked : unticked, (t.Name==""?"<new task>":t.Name), delegate {
Console.WriteLine("???");
})
}
};
}
是否有可能检查用户是否点击了一个图标而不是文本,并改变行为?实际上,我想要这样做…
var task = tasks[indexPath.Row];
if(clickedIcon) {
currentTask = task;
task.Completed = !task.Completed;
TaskManager.SaveTask(currentTask);
} else {
ShowTaskDetails(task);
}
但是我在IndexPath中没有看到任何允许我访问列或选中的元素的参数。
任何想法
您需要创建一个自定义版本的BadgeElement,并且基本上为图像引发事件,这与为文本引发事件是分开的。
幸运的是,整个源代码是可用的,所以你可以复制/粘贴BadgeElement,重命名它,创建一个新的唯一键并修改它。