我正在尝试自定义 Xamarin 的 MonoTouch 示例集中的BubbleCell 示例。我想将 UIImageView 添加到聊天气泡中,并使其在点击 UIImageView 时,代码可以做一些事情(在我的情况下,打开一个模态视图 - 虽然现在我会满足于向输出写入一些东西窗户)。
该示例使用 MonoTouch.Dialog 来布局界面,并具有一个自定义单元格类,用于构造视图并将其添加到 UITableViewCell.ContentView。
我已经设法很容易地将 UIImageView 放入单元格中。但是,我似乎无法弄清楚如何让 UIImageView 响应点击。
我正在 BubbleCell 的构造函数(在 Bubble.cs 中)中构建 UIImageView,同时,我在其中添加以下几行:
var tap = new UITapGestureRecognizer();
tap.AddTarget( () => {
Console.WriteLine("I'll do something here");
});
imageView.UserInteractionEnabled = true;
imageView.AddGestureRecognizer(tap);
代码编译并运行良好,但是当我点击 UIImageView 时,没有任何反应。
我尝试了一些更改,但都没有解决这个问题:
- 我将 UIImageView 换成了自定义 UIButton。
- 我浏览了单元格和 UITableView 的超级视图层次结构,并确保所有超级视图都将 UserInteractionEnabled 属性设置为 true。他们是这样。
- 我删除了 UITapGestureRecognizer 并尝试继承 UIImageView 并拦截 TouchesBegan/TouchesEnded 方法(它们从未被调用)
为了使 MonoTouch.Dialog 中的表格单元格与用户交互一起工作,我需要做些什么特别的事情吗?