我正在尝试为我的游戏的UIView禁用触摸事件,但设置userInteractionEnabled = NO
似乎没有任何效果。这是我在App中唯一的观点。
如果我检查isUserInteractionEnabled
视图,则返回NO。
我通过我的UIViewController获取了-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
消息,而不是UIView。由于添加了根UIViewController,我不再获得发送到UIView的触摸事件。
我在这里做错了吗?我认为设置userInteractionEnabled = NO
会阻止所有触摸事件的发生。
答案 0 :(得分:0)
对于某些组件,如果取消选中“界面构建器中已启用用户交互”,则该组件实际上将忽略该设置。 UITextView就是这种行为的一个例子。我在这个问题上找到的方法是在awakeFromNib方法和initWithFrame方法中明确地将userInteractionEnabled设置为NO。子类示例;
-(void) awakeFromNib {
[self setup];
}
-(id) initWithFrame:(CGRect) frame {
self = [super initWithFrame: frame];
if(self) {
[self setup];
}
}
-(void) setup {
self.userInteractionEnabled = NO;
}