我面临的情况是,我有 2 个按钮在点击时显示不同的 View Controller 。
问题是,如果我按住“按钮 1”,然后按下并释放“按钮 2”,然后释放“按钮 1”,则两个按钮操作都会执行。 (在这种情况下呈现一个 View Controller )
所以我认为最简单的解决方案是在我展示我的 View Controller 时在同一个地方调用一些东西,它会“取消所有操作中的触摸或所有用户交互”,这样当按下的按钮被释放时它不会将其注册为新事件。
iOS 中是否有用于“中断”所有正在进行的触摸的方法?
最佳答案
干得好,
这将使一次只能点击一个按钮
for (UIView * button in [self.view subviews]) {
if([button isKindOfClass:[UIButton class]])
[((UIButton *)button) setExclusiveTouch:YES];
}
一个 更好解决方案是制作 分类 对于
UIButton
并在其中设置此代码:- (void)awakeFromNib
{
[super awakeFromNib];
[self setExclusiveTouch:YES];
}
关于ios - 如何取消正在进行的所有触摸操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42778894/