iOS 同时点击 崩溃问题

前几天APP提交新的版本,测试小哥发现同时点UIViewController上的item和UINavigationController上的扫码按钮是 APP会crash掉。我是不愿意面对这个问题的,谁会没事同时点击这两个按钮~~~但是人在江湖,身不由己,出来混迟早要还的,还是解决了再说~~~

分析大概是由于同时点击,造成APP响应冲突,更底层的原因就不太清楚了。想到的解决办法就是忽略其中一个点击事件。苹果提供了这一属性。UIView类下的exclusiveTouch属性。先看下Xcode上的帮助是怎么介绍的:

Summary

A Boolean value that indicates whether the receiver handles touch events exclusively.

Declaration

@property(nonatomic, getter=isExclusiveTouch) BOOL exclusiveTouch;

Discussion

Setting this property to YES causes the receiver to block the delivery of touch events to other views in the same window. The default value of this property is NO.

当属性设置为YES的时候回导致事件接受者堵塞同一window下传递给另外的view的触摸事件。

用法:AppDelegate中设置该属性:

//解决同事点击两个控件问题

UIView.appearance.exclusiveTouch = YES;

你可能感兴趣的:(iOS 同时点击 崩溃问题)