因項(xiàng)目需要赔硫,開(kāi)發(fā)一個(gè)簽名畫板炒俱,方案是利用touchesBegan
、touchesMoved
記錄手指軌跡進(jìn)行繪圖爪膊,這個(gè)不復(fù)雜权悟,無(wú)需多述。功能完成后遇到一個(gè)問(wèn)題:手指從屏幕左側(cè)邊緣滑動(dòng)無(wú)法觸發(fā)touchesBegan
推盛,具體表現(xiàn)為從屏幕左側(cè)邊緣往右無(wú)法畫線峦阁,但是從右往左可以將線畫至屏幕邊緣。一頓Google操作后終于找到原因耘成,原來(lái)是導(dǎo)航欄的側(cè)滑手勢(shì)與繪圖手勢(shì)沖突(應(yīng)該是側(cè)滑手勢(shì)的識(shí)別阻礙了touchesBegan
的響應(yīng))榔昔,因?yàn)槲业暮灻缑鏌o(wú)需側(cè)滑回退,故關(guān)閉回退手勢(shì)瘪菌,成功解決問(wèn)題:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
網(wǎng)上有提到3D Touch的手勢(shì)會(huì)導(dǎo)致類似問(wèn)題撒会,經(jīng)自測(cè),我的問(wèn)題并不是該原因?qū)е隆?/p>
參考鏈接: 'touchesBegan:withEvent:' is delayed at left edge of screen
雖然該鏈接提到的是3D Touch师妙,但是給了我思路诵肛,如果關(guān)閉回退手勢(shì)不能解決您的問(wèn)題,不妨試試關(guān)閉3D Touch手勢(shì)疆栏。