在我的iPhone应用程序中,我从.xib文件加载视图。在.xib中我有这样的结构:主视图,类型为UIControl,包含UITable和UIView。问题是UIControl没有接收到触摸,事件触发的方法从不接听。我该如何解决这个问题?
在.h文件中我有声明方法
- (IBAction)backgroundTap:(id)sender;
在.m中我实现了这个方法:
- (IBAction)backgroundTap:(id)sender
{
[passwordTextField resignFirstResponder];
[usernameTextField resignFirstResponder];
}
使用主视图的UIControl中的touch dowm事件绑定来自File所有者的backgroundTap事件
更新
其实原因是我点击我总是点击UiTable元素,所以我的活动无法到达。我怎样才能解决这个问题,也许我可以将表中的触地事件发送到UIControl?
答案 0 :(得分:0)
你可以试试这个:
yourControl.userInteractionEnabled = TRUE;
我希望这会对你有所帮助。
答案 1 :(得分:0)
检查你的方法控制我认为它没有在内部修饰,所以让它在里面修饰并尝试。
答案 2 :(得分:0)
根据您的描述,听起来您的xib根视图是一个UIControl? IB不允许通过UI,你是否从最初的UIView手动更改了类?同样,IB不允许您将子视图添加到UIControl对象。因此,如果没有清楚地知道你的xib结构,听起来你应该从UIView根开始并在UIView中添加你的UITableView和UIControl对象,而不是在UIControl中添加UITableView。
答案 3 :(得分:0)
对覆盖所有屏幕的控件进行子类化。
覆盖touchesBegan:withEvent:
方法,将触摸重定向到您的控件。